在Visual Studio 2012 Pro或Visual Studio 2015社区版中,有没有办法将命名空间分配给实体数据模型,以便在同一个项目中为不同的数据库集成多个模型?
我知道如果我创建一个"项目"但如果我想创建网站 ??
请注意"网站" !=" Web项目"
edmx文件放在App_Code文件夹中,在VS2012中,namespace属性似乎被忽略,因为如果我添加第二个edmx,映射到另一个DB,如果存在与第一个相同名称的表,则会发生冲突。
在VS2015中,如果您创建一个网站,甚至没有办法设置名称空间属性。
请注意我正在谈论"网站"而不是" Web Project"。他们是不同的。
答案 0 :(得分:0)
我已将edmx文件放在App_Code的子文件夹中并关闭并重新启动Visual Studio,并添加了命名空间。 所以现在两个EDMX已经被隔离,我不再有错误了。
因此,如果您有三个不同的数据库DB1,DB2和DB3,则可以在App_Code文件夹中创建三个不同的文件夹: App_Code文件\ Db1Model App_Code文件\ Db2Model App_Code文件\ Db3Model
然后在Db1Model文件夹中为DB1创建一个新的ADO.NET实体数据模型。 在向导窗口中,当您必须"选择数据库对象和设置时,您也可以插入"模型命名空间"。
对所有数据库重复上述任务,使用不同的命名空间并将模型放在新文件夹中。
如果出现错误,请尝试构建网站
"类型Db1。 TableName 已包含 SomeDbField 的定义"
关闭Visual Studio并重新加载网站。
使用Visual Studio 2012,Visual Studio 2015社区版和EF6进行测试。
为什么我需要拥有多个数据模型?
为什么我要使用新网站而不是新项目?
主要原因是"网站"在开发/调试方面更快,因为您不必重新编译您在代码隐藏中所做的每一个小改动。 部署它更容易,因为我只需要上传更改的文件。 我也可以在没有Visual Studio的情况下进行快速简单的更改。 更灵活,更容易搞乱一切。我知道,但取决于我们如何习惯工作和项目需求。 欲了解更多信息,请阅读:Difference between 'Web Site' and 'Project' in Visual Studio
答案 1 :(得分:0)