Asp.net mvc 5.2 EF6登录时的自定义连接字符串

Asp.net mvc 5.2 EF6登录时的自定义连接字符串,asp.net-mvc-5.2,Asp.net Mvc 5.2,我有一个使用默认ASP.Identity实现的MVC5应用程序。我已经定制了用户,以允许所有其他必需的数据。我正在使用firstname.lastname结构后面的UserName字段,并已将所有字段更新为不使用电子邮件地址,这是默认设置。这一点没问题。现在是我的挑战 我正在尝试允许多租户类型的结构,因此,我需要在登录时添加一个字段,在本例中为CompanyId,这是一个用户定义的int数据字段,它是唯一的(捕获一个州颁发的许可证号,这样就没有复制的可能性),以便用户名(第一个)与Company

我有一个使用默认ASP.Identity实现的MVC5应用程序。我已经定制了用户,以允许所有其他必需的数据。我正在使用firstname.lastname结构后面的UserName字段,并已将所有字段更新为不使用电子邮件地址,这是默认设置。这一点没问题。现在是我的挑战

我正在尝试允许多租户类型的结构,因此,我需要在登录时添加一个字段,在本例中为CompanyId,这是一个用户定义的int数据字段,它是唯一的(捕获一个州颁发的许可证号,这样就没有复制的可能性),以便用户名(第一个)与CompanyId绑定,允许在其他公司重复使用用户名

我需要CompanyId字段来存储公司的connectionString,然后可以利用asp.Identity的基本实现

我一直在搜索,直到我脸色发青,找到了大量关于多租户的数据,但似乎没有任何数据符合我的“简单”用例。我可能没有充分考虑这一点,但至少从表面上看,似乎没有那么复杂,但我不知道从哪里开始

public class CompanyConnection
    {
        public int CompanyId { get; set; }
        public string ConnectionString { get; set; }
    }
默认站点配置不允许注册,而是允许为帐户创建一个应用程序,成功后创建一个帐户,因此所有创建帐户后的业务逻辑都是相同的,但是用户特定的,并且确实需要它自己的数据库。我知道这可以通过子域的url请求来处理,但这从SSL证书的角度给我带来了一系列全新的挑战(所有站点都需要EV证书),我真的不想走这条路


任何建议都将不胜感激。

只需使用CompanyConnection.ConnectionString实例即可。如果您的companyConnection类是静态的,请尝试下面的代码,否则从companyConnection对象实例获取ConnectionString

youDBContext conn = new yourDBContext();
conn.Database.Connection.ConnectionString = CompanyConnection.ConnectionString;
conn.Database.Connection.Open();