2016-10-26 5 views
0

Mein Tabellencode wie erstellen:‚Hilfe‘ Die Primärschlüsselspalte kann nicht vom Server generiert werden

CREATE TABLE [dbo].[DeTai](
[ID] [int] IDENTITY(1,1) NOT NULL, 
[MaDeTai] AS ('DT'+right('000000'+CONVERT([varchar](10),[ID]),(6))) PERSISTED NOT NULL, 
[TenDeTai] [nvarchar](255) NOT NULL, 
[LinhVuc] [nvarchar](255) NOT NULL, 
[Nam] [int] NOT NULL, 
[MaGV] [varchar](8) NOT NULL, 
) 

Wenn ich LINQ to SQL-a-Werte einfügen diese Meldungen kommen

Die Primärschlüsselspalte vom Typ 'VarChar(8)' kann nicht vom Server generiert werden.

was soll ich tun?

+0

Wo Sie den Primärschlüssel deklarieren Sie? – stuartd

+0

gibt es ein Komma zu viel, direkt nach Ihrem letzten Feld – GuidoG

+0

und wie @stuartd bereits gesagt, dass Sie überhaupt keinen Primärschlüssel erstellen – GuidoG

Antwort

0

müssen Sie den Primärschlüssel bezeichnen, Identität Einstellung ist nicht genug

CREATE TABLE [dbo].[DeTai](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [MaDeTai] AS ('DT'+right('000000'+CONVERT([varchar](10),[ID]),(6))) PERSISTED NOT NULL, 
    [TenDeTai] [nvarchar](255) NOT NULL, 
    [LinhVuc] [nvarchar](255) NOT NULL, 
    [Nam] [int] NOT NULL, 
    [MaGV] [varchar](8) NOT NULL, 

    constraint PK_DeTail_ID primary key (ID) 
) 
+0

sr Ich habe vergessen (Primärschlüssel (MaDeTai)), aber es funktioniert immer noch nicht :( –

Verwandte Themen