zoukankan      html  css  js  c++  java
  • Entity Framewok中获取实体对象的部分属性

    因为在设计中的遗漏,把一个视图中包含大量Null值的列设定为了主键,导致在查询的时候,会把所有主键为Null值的对象都映射为第一条Null值的数据……噩梦……

    因此,我需要获取数据的时候只取部分属性,把主键列屏蔽掉。写法稍有点复杂,做个标记:

    IList<SAPUserView> l = 
    SAPUserViews.Select(b
    => new { LogonID = b.LogonID, EmployeeNo = b.EmployeeNo, NickName = b.NickName }).ToList()
        .Select(r
    =>new SAPUserView() { LogonID = r.LogonID == null ? String.Empty: r.LogonID,  EmployeeNo = r.EmployeeNo, NickName = r.NickName}).ToList();

    需要留意的是为什么不第一次Select方法的时候就直接Select(b=>new SAPUserView(){...}:具体原因不详,但是那样写会抛出异常:
    NotSupportedException: The entity or complex type 'WorkFlowDBModel.SAPUserView' cannot be constructed in a LINQ to Entities query.
    必须转换为匿名类型的集合后重新Select一次。

  • 相关阅读:
    Task Schedule
    Number Game
    CDQ分治
    Friends and Subsequences
    HDU5266 pog loves szh III
    P1593 因子和
    求一个数的欧拉函数的优化
    Grandpa's Estate POJ
    LightOJ
    Paint The Wall HDU
  • 原文地址:https://www.cnblogs.com/Xrinehart/p/1511233.html
Copyright © 2011-2022 走看看