假设我有一个使用Entity Framework的项目,但我想使用自己的类而不是EF类。
使用我自己的课程的原因:
现在,我的数据库的表名如User
和Conference
。
但是,在我的域项目中,我还会调用我的文件User.cs
和Conference.cs
。
这意味着我突然有两个具有相同命名的对象,这通常非常烦人,因为你必须一直使用命名空间来了解它们。
我的问题是如何解决这个问题?
我的想法:
我只是不喜欢我的任何想法。
你通常如何做到这一点?
答案 0 :(得分:1)
如果没有更多背景知识很难说,但听起来您正在使用Entity Framework设计器来生成EF类。这被称为“模型优先”workflow。您是否考虑过使用Code First /仅限代码的工作流程?首先执行代码时,您可以拥有不了解数据库,EF或数据注释的POCO类。数据库和POCO之间的映射可以在DBContext或EntityTypeConfiguration类中外部完成。
您应该能够通过代码实现与仅使用一组对象从EF解耦的目标。
答案 1 :(得分:0)
要扩展上述答案,数据库表名 User (或 Users ,尽可能多的DB设计者更喜欢)是对象的持久性存储的标识符{{1您在代码文件 User.cs 中定义的内容。这些标识符都不共享相同的空间,所以不应该混淆。实际上,它们的命名方式类似于在空间(数据存储,代码,开发环境)之间创建松散耦合,因此您可以保持理智,其他人可以读取您的代码。