【问题标题】:How do I make an ASP.NET MVC application use my Membership tables?如何让 ASP.NET MVC 应用程序使用我的成员资格表?
【发布时间】: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=&quot;data source=(localdb)\v11.0;initial catalog=TAD;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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


【解决方案1】:

您的成员资格表在两个表中都有唯一的字段吗?如果您的会员表中有用户名,您可以在登录后由经过身份验证的用户查询。

【讨论】:

  • 它目前正在使用两个独立的数据库。两者都有会员表。但是我的数据库有我设计的表。所以我希望应用程序使用我数据库中的成员资格表。
  • 你能把表移到示例数据库吗?
  • 可能,但与完整的 Membership 模型相比,示例 DB 中使用的 Membership 类似乎更受限制。不知道如果会影响到我,但我想我最好谨慎行事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-17
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多