Asp.net mvc EF代码首先动态创建多个数据库
是否可以根据特定参数生成不同的数据库 我的最终目标是john.domain.com=>createjohndb,paul.domain.com=>createpauldbAsp.net mvc EF代码首先动态创建多个数据库,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,是否可以根据特定参数生成不同的数据库 我的最终目标是john.domain.com=>createjohndb,paul.domain.com=>createpauldb 如何首先使用EF6代码MVC5实现这一点?model可以先做吗?是的,您可以在运行时更改连接字符串,例如。 需要添加对系统数据的引用 public static class ConnectionStringExtension { public static void ChangeDatabaseTo(this DbCo
如何首先使用EF6代码MVC5实现这一点?model可以先做吗?是的,您可以在运行时更改连接字符串,例如。 需要添加对
系统数据的引用
public static class ConnectionStringExtension
{
public static void ChangeDatabaseTo(this DbContext db, string newDatabaseName)
{
var conStr = db.Database.Connection.ConnectionString;
var pattern = "Initial Catalog *= *([^;]*) *";
var newConStr = Regex.Replace(conStr, pattern, m =>
{
return m.Groups.Count == 2
? string.Format("Initial Catalog={0}", newDatabaseName)
: m.ToString();
});
db.Database.Connection.ConnectionString = newConStr;
}
}
用法
using (var db = new AppContext())
{
// Uses it just before any other execution.
db.ChangeDatabaseTo("MyNewDatabase");
}
是的,您可以在运行时更改连接字符串,例如。
需要添加对系统数据的引用
public static class ConnectionStringExtension
{
public static void ChangeDatabaseTo(this DbContext db, string newDatabaseName)
{
var conStr = db.Database.Connection.ConnectionString;
var pattern = "Initial Catalog *= *([^;]*) *";
var newConStr = Regex.Replace(conStr, pattern, m =>
{
return m.Groups.Count == 2
? string.Format("Initial Catalog={0}", newDatabaseName)
: m.ToString();
});
db.Database.Connection.ConnectionString = newConStr;
}
}
用法
using (var db = new AppContext())
{
// Uses it just before any other execution.
db.ChangeDatabaseTo("MyNewDatabase");
}
是的,您可以在运行时更改连接字符串,例如。
需要添加对系统数据的引用
public static class ConnectionStringExtension
{
public static void ChangeDatabaseTo(this DbContext db, string newDatabaseName)
{
var conStr = db.Database.Connection.ConnectionString;
var pattern = "Initial Catalog *= *([^;]*) *";
var newConStr = Regex.Replace(conStr, pattern, m =>
{
return m.Groups.Count == 2
? string.Format("Initial Catalog={0}", newDatabaseName)
: m.ToString();
});
db.Database.Connection.ConnectionString = newConStr;
}
}
用法
using (var db = new AppContext())
{
// Uses it just before any other execution.
db.ChangeDatabaseTo("MyNewDatabase");
}
是的,您可以在运行时更改连接字符串,例如。
需要添加对系统数据的引用
public static class ConnectionStringExtension
{
public static void ChangeDatabaseTo(this DbContext db, string newDatabaseName)
{
var conStr = db.Database.Connection.ConnectionString;
var pattern = "Initial Catalog *= *([^;]*) *";
var newConStr = Regex.Replace(conStr, pattern, m =>
{
return m.Groups.Count == 2
? string.Format("Initial Catalog={0}", newDatabaseName)
: m.ToString();
});
db.Database.Connection.ConnectionString = newConStr;
}
}
用法
using (var db = new AppContext())
{
// Uses it just before any other execution.
db.ChangeDatabaseTo("MyNewDatabase");
}