EF中使用Select new 方法中字段值替换的问题
前提需要替换查询得到的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 方法中字段值替换的问题的更多相关文章
- CI控制器中设置在其它方法中可用的变量
开发过程中,某些变量可能需要被控制器中的其它方法所调用,这个变量改怎么设置呢? 其实可以用ci的$this->load->vars($array);和$this->load-> ...
- 使用SQL中的update更新多个字段值
使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and set后面的多个条件之间没有关联也不可以有关联,所以就不能用and了:where 条件后面 可以为and 如: upda ...
- JDBC中级篇(MYSQL)——在JDBC中如何获得表中的,自增长的字段值
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package c_increment; import java.sql.Connection; import java.sql.P ...
- select ng-change 方法中 拿不到 ng-modal 定义的变量值
在使用angularjs框架的项目中,select 的数据源有两种绑定方式,在option中使用ng-repeat循环绑定,或者在select中使用ng-option 绑定. 无论哪种绑定方式,均要使 ...
- ios中怎么样设置drawRect方法中绘图的位置
其中drawRect方法中的参数rect就是用来设置位置的,
- rails中weill_paginate的paginate方法中不能使用额外参数的解决办法
我们知道高版本中的rails中的分页功能已经放在will_paginate这个gem中,我们在控制器方法中往往需要调用其paginate方法来实现分页数据集控制,举个例子:正常的情况我们想要每页显示1 ...
- 我的Android进阶之旅------>android中service的onStartCommand()方法中intent为null的问题
今天在维护公司的一个APP的时候,突然爆了空指针异常, Caused by: java.lang.NullPointerException: Attempt to invoke virtual met ...
- java——ArrayList中contains()方法中的疑问
问题引子: ist<Student> students=new ArrayList<Student>(); students.add(new Student("201 ...
- pandas中DataFrame对象to_csv()方法中的encoding参数
当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...
随机推荐
- vc如何编译链接opengl库
强烈推荐的一篇强大的OpenGl学习博文OpenGL入门学习 vc2012如何链接opengl库? 首先,我们需要下载opengl的库文件,http://pan.baidu.com/s/1kTsjkZ ...
- CSS hacker(兼容IE6、7、8)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">这行代码是永远以最新的 ...
- TransmitFile下载文件(部分转载)
例子代码: public void Down() { TransmitFile(@"/File/KBPub.zip"); } public void TransmitFile(st ...
- DWZ(JUI) 教程 中如何整合第三方jQuery插件
Query插件一般是$(document).ready()中初始化 $(document).ready(function(){ // 文档就绪,初始化jQuery插件| }); // 或者或缩写形 ...
- Python Opearte SQLAlchemy Do Something
近段时间在看SQLAlchemy,总之万事开头难,但是么办法. Database Urls The create_engine() function produces an Engine object ...
- Cocos2d-x多场景切换生命周期
在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期. 多个场景切换时候分为几种情况: 情况1,使用pushScene函数从实现HelloWorld场景进入Setting场 ...
- Mac OS X中开启或关闭显示隐藏文件
打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.app ...
- UI1_Calayer
// // ViewController.m // UI1_Calayer // // Created by zhangxueming on 15/7/2. // Copyright (c) 2015 ...
- CSS Sprite 雪碧图制作
CSS Sprite 雪碧图,简单来说就是: 为了提高网页的性能,减少加载次数,将一些不会经常随网站内容变化的小图标,集中放在一张大图上,将该图应作为background-image 嵌入页面中,在需 ...
- CSS3 resize属性 调整div大小
resize 用户可调整div大小 IE不支持 none 不可调整元素尺寸 both 可调整宽度高度 horizontal 可调整宽度 vertical 可调整高度 注意:如果属性生效,必须设置元素 ...