我正在试图找出使用“数据库优先”方法生成实体框架代码的最佳方法。我希望模型的完整主要描述是实际的数据库模式,注释存储在表或扩展属性的数据库中。对模型优先或代码优先方法不感兴趣。如果能够产生最高质量的解决方案,则不反对编写自定义代码来实现。以下是一些想法:
(1)从数据库生成EDMX。使用自定义代码向EDMX添加关于EF当前未内置的唯一性和其他约束的注释。使用T4模板从EDMX生成代码。
(2)编写一个自定义工具,从数据库中生成“代码优先”类。解决方案中没有EDMX文件。
(3)还有什么?
似乎#1需要更深入的EF知识和比#2更多的实际工作,如果有显着的好处,我现在反对。
有什么建议吗?
答案 0 :(得分:0)
嗯,没有什么比将表从服务器资源管理器拖到edmx设计器表面更容易了。这就是我的方式。我没有对模型进行任何自定义,因此我可以删除部分内容进行重新生成。
答案 1 :(得分:0)
您可以使用EF从数据库导入模型。右键单击EF设计器,然后选择“从数据库更新模型”选项。
如果您想再多一点,可以试试http://radarc.net。它是一个代码生成工具,可以创建脚手架和CRUD。它首先使用T4模板和代码,因此您可以自定义生成代码的方式。