Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据库拆分为多个DBEF核心_C#_Entity Framework_.net Core - Fatal编程技术网

C# 将数据库拆分为多个DBEF核心

C# 将数据库拆分为多个DBEF核心,c#,entity-framework,.net-core,C#,Entity Framework,.net Core,我有多个彼此不相关的项目,但在某些数据库中,它们有一些相似之处,比如我的身份验证系统的表 我想为我的所有项目使用相同的基础项目,并将所有相似之处放在那里,这样我就不必为我的所有项目创建基础项目 我正在使用EF Core和.Net Core 我想知道是否有任何方法可以将项目中的同一个表拆分为一个项目,并在我的所有项目中使用它?还是说这是一个好办法 Project1数据库上下文: public class P1Context : DbContext { public DbSet<

我有多个彼此不相关的项目,但在某些数据库中,它们有一些相似之处,比如我的身份验证系统的表

我想为我的所有项目使用相同的基础项目,并将所有相似之处放在那里,这样我就不必为我的所有项目创建基础项目

我正在使用EF Core和.Net Core

我想知道是否有任何方法可以将项目中的同一个表拆分为一个项目,并在我的所有项目中使用它?还是说这是一个好办法

Project1数据库上下文:

 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
和相关类使用的方法基本相同。而且它被证明是有效的,所以。。。