2016-10-26 2 views
0

マイによって生成することができないように、テーブルのコードを作成します。私はこのメッセージが「ヘルプ」の主キー列には、サーバー

出てくる値を挿入するためにLINQ to SQLのを使用する場合

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, 
) 

タイプ'VarChar(8)'の主キー列は、サーバーによって生成されません。

どうすればよいですか?

+0

十分ではありません、主キーを指定する必要がありますか? – stuartd

+0

あなたの最後のフィールド – GuidoG

+0

の直後にカンマが多すぎると、@stuartdのように既にプライマリキーを作成していないと言われました – GuidoG

答えて

0

あなたはアイデンティティを設定すると、主キーを宣言します

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忘れてしまった(主キー(MaDeTai)))まだ動作していない:( –