【发布时间】:2015-01-06 05:17:04
【问题描述】:
我让 Visual Studio 生成示例项目,我打算根据自己的需要对其进行更改。然后我让VS根据我的数据库生成一个Model,它在Web.config中添加了一个新的connectionString。我的数据库中已经有 ASP.NET Membership 表,但示例应用程序仍然坚持使用它生成的数据库中的表。如何让它使用我的表?
我的连接字符串如下:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-TAD-20141109115206.mdf;Initial Catalog=aspnet-TAD-20141109115206;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="TADEntities" connectionString="metadata=res://*/Models.TADModel.csdl|res://*/Models.TADModel.ssdl|res://*/Models.TADModel.msl;provider=System.Data.SqlClient;provider connection string="data source=(localdb)\v11.0;initial catalog=TAD;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
第一个由示例应用程序使用,第二个是我的数据库。除了这些 connectionStrings 之外,我似乎找不到任何关于连接的提及,所以我未能成功地让它使用我的表。
【问题讨论】:
-
第一个连接字符串使用
aspnet-TAD-20141109115206第二个TAD,如果你将第一个连接字符串也改为使用TAD会怎样? -
@artm 它可怕地崩溃了:
Cannot attach file '[too long]\TAD\App_Data\aspnet-TAD-20141109115206.mdf' as database 'TAD' because this database name is already attached with file 'C:\Users\simon\TAD.mdf' -
在你的解决方案中搜索
DefaultConnection,看看它出现在哪里,用TADEntities替换它 -
@artm 这已经开始了。但是我收到很多错误消息,大概是因为表名不匹配。
-
可能是。比较两个数据库之间的模式,看看有什么区别,但我不确定它是否会像重命名表一样简单。如果它们使用相同的成员资格,则架构可能会匹配,如果它们不匹配,则两个数据库可能使用不同的成员资格。
标签: c# .net asp.net-mvc-5 entity-framework-6