如何仅在实体框架中显示表的特定列?

问题描述:

如何在实体框架中显示一些特定的表格列而不是整个表格。如何仅在实体框架中显示表的特定列?

using (DataEntities cxt = new DataEntities()) 
{ 
    notes note = cxt.notes.Where(no => no.id == accID).SingleOrDefault(); 
    return notes; 
} 

为此,我建议你使用视图模型的类似以下内容: -

notes note = cxt.notes.SingleOrDefault(no => no.id == accID); 
var model = new YourViewModel // Your viewModel class 
      { 
        ID = note.ID, 
        PropertyOne = note.PropertyOne, // your ViewModel Property 
        PropertyTwo = note.PropertyTwo 
      }; 

你可以用QueryView做到这一点。 这意味着直接用XML编辑你的模型,因为没有设计者支持这个,但是你会得到一个独立的实体,它的字段比原来的要少。

优点:

  • 然后,您可以直接查询数据的基础上对这个截断实体(你将只能得到字段,你从数据库需要 - 无需从DB获得整个实体trancate它代码)
  • 要这个截断实体发送到 客户 与WCF,以尽量减少业务(例如建立在客户端 大名单,基本上只需要姓名和ID及具体 没有其他实体时,它是在场景好Infor公司mation)。

缺点:

  • 这种基于QueryView实体是只读的。为了使其可写,您将不得不自己添加读写功能