前提需要替换查询得到的List当中的某个字段的值,替换规则有一个mapping关系

尝试代码 有问题 无法获取任何数据

 /// <summary>
/// 获取Treegrid的List
/// </summary>
/// <returns></returns>
public JsonResult GetOrgnizationList()
{
IQueryable<Rights_Sys_Organization> list = db.Rights_Sys_Organization;
return Json(new treegrid
{
rows = list.Select(
s => new
{
_parentId = s.ParentCode,
OrganizationName = s.OrganizationName,
EnglishName = s.EnglishName,
OrganizationType = s.OrganizationType,
States = SysDictionaryCollection.GetFieldTextByDicTypeAndValue("DicType",s.States),
OrganizationCode = s.OrganizationCode,
Order = s.Order
}).OrderBy(c => c.Order)
}, JsonRequestBehavior.AllowGet);
}

正常的代码

   /// <summary>
/// 获取Treegrid的List
/// </summary>
/// <returns></returns>
public JsonResult GetOrgnizationList()
{
IQueryable<Rights_Sys_Organization> list = db.Rights_Sys_Organization;
return Json(new treegrid
{
rows = list.Select(
s => new
{
_parentId = s.ParentCode,
OrganizationName = s.OrganizationName,
EnglishName = s.EnglishName,
OrganizationType = s.OrganizationType,
States = s.States,
OrganizationCode = s.OrganizationCode,
Order = s.Order
}).OrderBy(c => c.Order)
}, JsonRequestBehavior.AllowGet);
}

暂时未找到解决办法 如果有人知道怎么解决请留言 谢谢!

2013-08-05

解决办法:由于dynamic类型不能修改列表中的值(貌似是这样说的),所以解决办法是先将list给拿出来tolist(),然后foeach改变值,改完之后再去new row;代码如下:

public JsonResult GetOrgnizationList()
{
IQueryable<Rights_Sys_Organization> list = db.Rights_Sys_Organization; List<Rights_Sys_Organization> rlist = list.ToList(); foreach (var item in rlist)
{
item.States = SysDictionaryCollection.GetFieldTextByDicTypeAndValue("OrgStates", item.States);
} foreach (var item in rlist)
{
item.OrganizationType = SysDictionaryCollection.GetFieldTextByDicTypeAndValue("OrgType", item.OrganizationType);
} dynamic rows = rlist.Select(
s => new
{
_parentId = s.ParentCode,
OrganizationName = s.OrganizationName,
EnglishName = s.EnglishName,
OrganizationType = s.OrganizationType,
States = s.States,
OrganizationCode = s.OrganizationCode,
Order = s.Order
}).OrderBy(c => c.Order); return Json(new treegrid
{
rows = rows
}, JsonRequestBehavior.AllowGet);
}

EF中使用Select new 方法中字段值替换的问题的更多相关文章

  1. CI控制器中设置在其它方法中可用的变量

    开发过程中,某些变量可能需要被控制器中的其它方法所调用,这个变量改怎么设置呢? 其实可以用ci的$this->load->vars($array);和$this->load-> ...

  2. 使用SQL中的update更新多个字段值

    使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and set后面的多个条件之间没有关联也不可以有关联,所以就不能用and了:where 条件后面 可以为and 如: upda ...

  3. JDBC中级篇(MYSQL)——在JDBC中如何获得表中的,自增长的字段值

    注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package c_increment; import java.sql.Connection; import java.sql.P ...

  4. select ng-change 方法中 拿不到 ng-modal 定义的变量值

    在使用angularjs框架的项目中,select 的数据源有两种绑定方式,在option中使用ng-repeat循环绑定,或者在select中使用ng-option 绑定. 无论哪种绑定方式,均要使 ...

  5. ios中怎么样设置drawRect方法中绘图的位置

    其中drawRect方法中的参数rect就是用来设置位置的,

  6. rails中weill_paginate的paginate方法中不能使用额外参数的解决办法

    我们知道高版本中的rails中的分页功能已经放在will_paginate这个gem中,我们在控制器方法中往往需要调用其paginate方法来实现分页数据集控制,举个例子:正常的情况我们想要每页显示1 ...

  7. 我的Android进阶之旅------>android中service的onStartCommand()方法中intent为null的问题

    今天在维护公司的一个APP的时候,突然爆了空指针异常, Caused by: java.lang.NullPointerException: Attempt to invoke virtual met ...

  8. java——ArrayList中contains()方法中的疑问

    问题引子: ist<Student> students=new ArrayList<Student>(); students.add(new Student("201 ...

  9. pandas中DataFrame对象to_csv()方法中的encoding参数

    当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...

随机推荐

  1. Ajax实现聊天

    用Ajax发送请求,查询数据库是否有自己的数据,如果有自己的数据,就返回 前端页面 <head> <meta charset="UTF-8"> <ti ...

  2. 【CSS3】---background-origin background-clip background-size

    background-origin 设置元素背景图片的原始起始位置. 语法: background-origin : border-box | padding-box | content-box; 参 ...

  3. ASP.NET缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman 转自网络原文作者李天平

    Memcached — 分布式缓存系统 1.Memcached是什么? Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.Memcached通过在内 ...

  4. 数据校验validator 与 DWZ

    在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 ...

  5. 百度网页搜索部来自Console的招聘信息

    百度网页搜索部来自Console的招聘信息,小伙伴们,你发现了吗?

  6. SQL 存储过程 执行效率优化提升 (显示估计)

    在sql server 查询区 通过执行 "显示估计的执行计划" ,可以给出 存储过程 缺少索引的提示,并自动生成建立相应 索引 的代码 显示估计的执行计划 执行结果提示: 哦,算 ...

  7. 快速调试chromium

    上一篇我们简单的将了在Ubuntu上编译chromium,android content_shell_apk的编译,一切顺利的就能生成apk.但是我们仅仅只是照搬了人家google开源的东西,作为一个 ...

  8. Jquery判断$("#id")获取的对象是否存在的方法

    如果是下面的 jquery 代码判断一个对象是否存在,是不能用的 if($("#id")){ }else{} 因为 $(“#id”) 不管对象是否存在都会返回 object . 正 ...

  9. jquery 和 js 对象转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...

  10. 对match() 和 exec() 返回值和属性的测试

    语法: exec() : RegExpObject.exec(string) match() : stringObject.match(string) stringObject.match(regex ...