我有一个包含大量 ObjectSet 的 EF6 ObjectContext。
特别是一个 EntityObject 具有一百多个属性,包括一些大型文本字段。
我有几种表格可以使用,它们可以处理不同的数据。
不必加载整个对象定义,有没有一种方法可以定义一个包含主键、时间戳和六个文本字段的“新”EntityObject,以便仅从数据库中提取这些字段?
我问这个是因为我已经为此建立了一个数据绑定、验证和更新模式,而且我宁愿不必建立第二个来配合它。
我有一个包含大量 ObjectSet 的 EF6 ObjectContext。
特别是一个 EntityObject 具有一百多个属性,包括一些大型文本字段。
我有几种表格可以使用,它们可以处理不同的数据。
不必加载整个对象定义,有没有一种方法可以定义一个包含主键、时间戳和六个文本字段的“新”EntityObject,以便仅从数据库中提取这些字段?
我问这个是因为我已经为此建立了一个数据绑定、验证和更新模式,而且我宁愿不必建立第二个来配合它。
我不确定这是否是您需要的,希望对您有所帮助
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();
注意:选定的查询类型和名称应与定义的类匹配,以使其正常工作。
完成此操作后,相应地设置数据绑定,但您需要手动处理数据验证和其他内容