1

对不起我的英语不好。我是初级开发人员。我在ASP.Net MVC 4 实体框架中有一个问题。

public class ClientContext:DbContext
{
    public DbSet<Client> Clients { get; set; }


}

客户存储在“客户”表中。但我也有一张表“GoodClients”。根据不同的条款,我需要在其中一张表中插入客户端。我可以使用这个 ClientContext 吗?我需要的?

4

1 回答 1

1

我建议您将布尔标记添加到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

编辑

另一种方法是将GoodClientsdbSet 添加到您的上下文中:

public class ClientContext:DbContext
{
    public DbSet<Client> Clients { get; set; }
    public DbSet<GoodClient> GoodClients { get; set; }
}

但这是一个可怕的想法,因为您会将相同的数据存储在不同的表中。

于 2013-07-19T09:39:40.210 回答