0

我有一个包含大量 ObjectSet 的 EF6 ObjectContext。

特别是一个 EntityObject 具有一百多个属性,包括一些大型文本字段。

我有几种表格可以使用,它们可以处理不同的数据。

不必加载整个对象定义,有没有一种方法可以定义一个包含主键、时间戳和六个文本字段的“新”EntityObject,以便仅从数据库中提取这些字段?

我问这个是因为我已经为此建立了一个数据绑定、验证和更新模式,而且我宁愿不必建立第二个来配合它。

4

1 回答 1

0

我不确定这是否是您需要的,希望对您有所帮助

1-使用要存储的属性定义一个新类

2-编写你的 sql/linq 查询以从你的数据库中提取你想要的字段。

假设你的表有超过 100 个属性是USERS表,现在定义另一个类

class TEMP_USERS{
    int U_ROWID {get;set;}
    string U_NAME {get;set;}
}

您的查询:

var query = "SELECT U_ROWID, U_NAME FROM USERS"

然后将其存储在定义的类中,如下所示:

var db = new yourDbContext();
var data = db.Database.SqlQuery<TEMP_USERS>(query).ToList();

注意:选定的查询类型名称应与定义的类匹配,以使其正常工作。

完成此操作后,相应地设置数据绑定,但您需要手动处理数据验证和其他内容

于 2020-01-17T20:13:45.967 回答