使用GUID和实体框架

时间:2009-07-24 13:55:59

标签: c# entity-framework .net-3.5

This question强调您不能将服务器端生成的GUID与实体框架一起使用。但是,我希望生成在数据库API的DAL级别处理的GUID(即,当调用实体的构造函数时,我希望将实体的id初始化为新的GUID)。我的计划是编写一个小工具来生成一堆代码文件,这些代码文件是实体的部分类。我有办法做到这一点,问题是:我是不是出于这种想法这样做或者这是我应该这样做的方式吗?

我的问题是,当edmx文件更新时,我不想也编辑一堆代码文件,我只想运行一个可以做必要的工具。

再一次,我的脑袋是直的?

1 个答案:

答案 0 :(得分:6)

如果你看一下Entity Framework默认生成的部分类,那么就没有默认的构造函数。

因此,在单独的分部类中执行此操作将很有效:

public partial class Customer{
    public Customer(){
         _ID = Guid.NewGuid();
    }
}

因此,没有理由不做你计划的事情。

您可能希望查看T4模板来执行此操作。这就是EF 4.0(即.NET 4.0中的EF)允许您自定义生成的代码的方式。现在虽然在4.0中这种体验是相当无缝的,你可以轻松地将基于T4的东西放在一起,只是为了创建这个在.NET 3.5 SP1中可以正常工作的局部类。

希望这有帮助

亚历

相关问题