【发布时间】:2020-01-01 19:30:16
【问题描述】:
我搜索了有关此主题的主题,但没有一个回答我的问题。
这是我的问题:
我正在使用 EF 6 Base-first。我需要用 SQL 表映射我自己创建的自定义实体。 假设我有一个这样的 SQL 表客户端:
CREATE TABLE CLIENT(
id int primary key,
info1 varchar,
info2 varchar,
info3 varchar,
info4 varchar,
info5 varchar);
和一个 C# 类的客户端
public class Client{
private int id {get; set;}
private string info2 {get; set;}
private string info5 {get; set;}
}
我希望能够像操作自动生成的 EDMX 类一样在 DbContext 中操作此 Client 类。通过这样做,我只会操纵我的应用程序需要的字段。 我的目标是能够像那样使用它
using(var ctxt = new CustomDbContext())
{
ctxt.Entry(client).State = client.id == 0? EntityState.Added : EntityState.Modified;
context.SaveChanges();
}
这样我就可以在我的 Client 表中插入/更新条目,而不会破坏我不使用的 info1、info3 和 info4 中的数据。
提前致谢
【问题讨论】:
-
作为只有私有属性的类?无论如何,如果您不映射其他属性,则可以,即从设计器中的类中删除它们。但是,这只有在未映射的列可以为空时才有可能,否则您将永远无法插入数据。
标签: c# .net orm entity-framework-6 mapping