如何在模型中添加表格?

时间:2019-02-24 06:06:25

标签: c# sql-server entity-framework

使用者:
-VS 2017;
-赢7x64;
-MS Sql Server 2012;
-EntityFramework-6.2.0;

型号 enter image description here

表“ tbl_xx”

    CREATE TABLE [dbo]. [Tbl_xx] (
       [Field] int NULL
    )
    ON [PRIMARY]
    GO
     
    ALTER TABLE [dbo]. [Tbl_xx] SET (LOCK_ESCALATION = TABLE
)


我尝试向模型添加表格 enter image description here enter image description here enter image description here

未添加表。

问题
1.我是否在正确地做所有事情以向模型中添加表?
2.如何在模型中添加表格?

更新_1
我关闭了打开的VS。
没有结果。

更新_2
在表中添加了一个键。 该表开始添加

 CREATE TABLE [dbo].[tbl_xx] (
      [Field] int  NULL,
      [id] int  NOT NULL,
      CONSTRAINT [PK__tbl_xx__3213E83FEB4094A9] PRIMARY KEY CLUSTERED ([id])
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
    ON [PRIMARY]
    )  
    ON [PRIMARY]
    GO

    ALTER TABLE [dbo].[tbl_xx] SET (LOCK_ESCALATION = TABLE)

1 个答案:

答案 0 :(得分:2)

对于要由EntityFramework生成的类,表/视图需要具有主键列。您确实已经发现了这一点。另外,如果您调查.edmx文件的XML,您会注意到一个注释的部分通知您,EF无法识别该表的主键,因此不会生成任何内容。

使用EF时,我会考虑让所有表的最佳做法是在表上指定IDENTITY的列PRIMARY KEY

对于视图来说,它可能有点复杂,但是您仍然可以调整.edmx文件的XML以指定key列。

我还建议明确命名所有数据库密钥(主密钥和外部密钥)以及所有将来维护和可移植性的约束-在不同的数据库上生成的名称将有所不同,这可能会导致以后的复杂化。