C# 将数据库拆分为多个DBEF核心
我有多个彼此不相关的项目,但在某些数据库中,它们有一些相似之处,比如我的身份验证系统的表 我想为我的所有项目使用相同的基础项目,并将所有相似之处放在那里,这样我就不必为我的所有项目创建基础项目 我正在使用EF Core和.Net Core 我想知道是否有任何方法可以将项目中的同一个表拆分为一个项目,并在我的所有项目中使用它?还是说这是一个好办法 Project1数据库上下文:C# 将数据库拆分为多个DBEF核心,c#,entity-framework,.net-core,C#,Entity Framework,.net Core,我有多个彼此不相关的项目,但在某些数据库中,它们有一些相似之处,比如我的身份验证系统的表 我想为我的所有项目使用相同的基础项目,并将所有相似之处放在那里,这样我就不必为我的所有项目创建基础项目 我正在使用EF Core和.Net Core 我想知道是否有任何方法可以将项目中的同一个表拆分为一个项目,并在我的所有项目中使用它?还是说这是一个好办法 Project1数据库上下文: public class P1Context : DbContext { public DbSet<
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
public DBSet<User> User{ get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
public DBSet<User> User { get; set; }
}
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
}
公共类P1Context:DbContext
{
公共DbSet Foo{get;set;}
公共数据库集用户{get;set;}
}
Project2数据库上下文:
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
public DBSet<User> User{ get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
public DBSet<User> User { get; set; }
}
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
}
公共类P2Context:DbContext
{
公共DBSet条{get;set;}
公共数据库集用户{get;set;}
}
我想做的是:
BaseProject数据库上下文:
public class BaseContext : DbContext
{
public DBSet<User> User { get; set; }
}
public类BaseContext:DbContext
{
公共数据库集用户{get;set;}
}
项目1背景:
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
public DBSet<User> User{ get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
public DBSet<User> User { get; set; }
}
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
}
公共类P1Context:DbContext
{
公共DbSet Foo{get;set;}
}
Project2数据库上下文:
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
public DBSet<User> User{ get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
public DBSet<User> User { get; set; }
}
public class P1Context : DbContext
{
public DbSet<Foo> Foo { get; set; }
}
public class P2Context : DbContext
{
public DBSet<Bar> Bar { get; set; }
}
公共类P2Context:DbContext
{
公共DBSet条{get;set;}
}
似乎是一种很好的meIt方法,这是一种正确的方法,但是您可能会遇到与我类似的问题,如果您遇到与从BaseContext继承P1Context(以及从BaseContext继承P2Context)相关的任何问题,这里有一个解决方案。这与ASP.Net核心标识-IdentityDbContext
和相关类使用的方法基本相同。而且它被证明是有效的,所以…似乎meIt的一个好方法是正确的方法,但是您可能会面临类似于我的问题,如果您面临与从BaseContext继承P1Context(以及从BaseContext继承P2Context)相关的任何问题,这里有一个解决方案。这与ASP.Net核心标识-IdentityDbContext
和相关类使用的方法基本相同。而且它被证明是有效的,所以。。。