我目前正在使用EF 4和我的ASP.NET网站访问MySql数据库。这很好用。但是,我现在想要另一个Web站点项目访问相同的实体。我该如何设置?
我不能仅仅引用原始网站,因为它是一个网站,而不是一个Web应用程序。所以假设我需要将实体数据模型放在自己的项目中并编译为DLL。但...
我真的不知道从哪里开始 - 我刚刚按照教程让EF工作到现在为止!如果有人有时间,我真的很感激逐步说明。感谢。
答案 0 :(得分:2)
模型应放在新的类库项目中。我倾向于根据现有模型在此时重新创建模型。对于命名空间,我喜欢使用{CompanyName} .DataAccess。从您的网站项目中删除旧模型,添加对新类库项目的引用并构建网站项目。网站项目将在许多地方中断,但是将名称空间更改为新的数据访问程序集应该是一个简单的问题。我更喜欢这种方法来剪切/粘贴,因为现在你有了很好的干净名称空间。注意你可能在其中包含实体名称的字符串的任何地方,比如你使用Include(如果你使用的是EF 4和延迟加载,这应该不是问题)。将连接字符串保留在web.config中,用于两个网站项目。在类库中创建模型时,它将在app.config中添加连接字符串。没关系,它就在那里,所以模型知道如何在刷新时连接到数据库。