实体框架指导

asp.net c# entity-framework

我正在尝试使用SQL Server 2008设置实体框架。我正在使用Guids作为我桌子上的密钥。有没有办法设置它,以便密钥由数据库自动生成?我尝试将“RowGuid”设置为true,并将列的默认值设置为“(newid())”。无论哪种方式,映射类仍然需要我在C#端给它一个Guid。有任何想法吗?

一般承认的答案

还没有

17.4。我可以使用服务器生成的guid作为我的实体密钥吗?

不幸的是,在EF的v1中,这不受支持。虽然SQL Server可以有一个类型为“uniqueidentifier”的列,并将其默认值设置为“newid()”,但使用SQL Server 2000时,没有什么好方法可以提取服务器在执行插入时生成的值。但是,这可以在更新版本的SQL Server上完成,因此我们应该在EF的未来版本中找到一种特殊情况下这种支持的简洁方法,以便在允许它而不是它的那些数据库上支持它。其他。目前,解决方法是在客户端(最好是在对象的构造函数中)而不是在服务器上生成guid。


热门答案

就个人而言,我认为任何使用EF的人都愿意放弃与SQL Server 2000的兼容性来获得他们需要的功能。看起来我需要在EF中执行的每个非常重要的事情都不受支持,因为他们必须保持与SQL Server 2000的兼容性。

什么时候结束!




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因