对不起我的英语不好。我是初级开发人员。我在ASP.Net MVC 4 实体框架中有一个问题。
public class ClientContext:DbContext
{
public DbSet<Client> Clients { get; set; }
}
客户存储在“客户”表中。但我也有一张表“GoodClients”。根据不同的条款,我需要在其中一张表中插入客户端。我可以使用这个 ClientContext 吗?我需要的?
对不起我的英语不好。我是初级开发人员。我在ASP.Net MVC 4 实体框架中有一个问题。
public class ClientContext:DbContext
{
public DbSet<Client> Clients { get; set; }
}
客户存储在“客户”表中。但我也有一张表“GoodClients”。根据不同的条款,我需要在其中一张表中插入客户端。我可以使用这个 ClientContext 吗?我需要的?
我建议您将布尔标记添加到Client
类中 -IsGoodClient
这样您就可以像这样使用您的客户表:
var goodClient = clientContextInstance.Clients.Where(e=>e.IsGoodClient);
var badClients = clientContextInstance.Clients.Where(e=>!e.IsGoodClient);
要将客户端从“GoodClient”转换为“BadClient”,您可以这样做:
var goodClient = clientContext.Clients.First(e=>e.IsGoodClient && e.Id == 1);
goodClient.IsGoodClient = false;
clientContextInstance.SaveChanges();
所以你不需要创建新表来存储 GoodClients
编辑
另一种方法是将GoodClients
dbSet 添加到您的上下文中:
public class ClientContext:DbContext
{
public DbSet<Client> Clients { get; set; }
public DbSet<GoodClient> GoodClients { get; set; }
}
但这是一个可怕的想法,因为您会将相同的数据存储在不同的表中。