Linq to Entities或EF版本的Set Identity_Insert <tablename> ON </tablename>

时间:2011-03-11 00:43:08

标签: c# sql-server entity-framework linq-to-entities

This Question using linq to SQL类似,但我不想只是从代码中执行SQL命令。我可以写一个存储过程。

我正在为应用程序编写年份翻转功能,我希望能够确保明年使用下一个可用的PK插槽,以便我可以使用数学来回溯几年。

用户也想要回滚功能,因此存在明显的差距可能性,因为此时将删除一年。

这也引出了一个问题,即依赖pk值是否过于脆弱......

问题:有没有办法让EF插入记录的方式短路,并指定我想用记录插入的主键?

1 个答案:

答案 0 :(得分:1)

我会说你的设计太脆弱了。除了检索给定记录imo。

之外,PK确实不应该是应用程序问题

那就是说,如果你必须这样做,你可以将StoreGeneratedPattern标志设置为“None”然后从应用程序中插入你想要的任何PK,但当然如果hte DB本身使用的是某些自动增量密钥亲切(例如IDENTITY),那么你仍然会破裂。

<强>更新 为什么a)的要求每年有一行,b)每年回滚可以转化为PK的任何内容?为什么不在您的查询中使用“年”列(设置为UNIQUE或不是)?

相关问题