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一次。

  • 相关阅读:
    SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)
    sp_rename sqlserver 表 列 索引 类型重命名
    T- SQL性能优化详解
    sql-索引的作用(超详细)
    用一条SQL语句取出第 m 条到第 n 条记录的方法
    SARG
    git
    ssh
    70小事
    websocket
  • 原文地址:https://www.cnblogs.com/Xrinehart/p/1511233.html
Copyright © 2011-2022 走看看