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 ...
随机推荐
- [转]在WPF中使用WinForm控件方法
本文转自:http://blog.csdn.net/lianchangshuai/article/details/6415241 下面以在Wpf中添加ZedGraph(用于创建任意数据的二维线型.条型 ...
- HDU 1598 find the most comfortable road (MST)
find the most comfortable road Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
- hdu 3966 树链剖分
思路:树链剖分入门题,我这门入得好苦啊,程序很快写出来了,可是在LCA过程中把update函数里的左右边界位置写反了,一直RE到死. #pragma comment(linker, "/ST ...
- HTML5游戏开发,剪刀石头布小游戏案例
剪刀石头布,非常可爱的小游戏,相信大家都非常的怀念这款小游戏,小时候也玩过很多次,陪伴着我的童年的成长,现在是不是还会玩一下,剪刀石头布游戏的规则我们都知道是:剪刀剪布,石头砸剪刀,布包石头.跟朋友. ...
- android面试
1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚 ...
- SQLite&&SharedPreferences&&IO读写Sdcard学习笔记
SQLite 轻量级的.嵌入式的.关系型数据库 Android.IOS等广泛使用的的数据库系统 SQLite数据库之中可以方便的使用SQL语句,实现数据的增加.修改.删除.查询等操作 SQLiteOp ...
- SQL Server 添加登录账户配置权限
一.新建登录名 1. 在登录名右侧的文本框中输入新建的管理员账号名称:2. 一对单选按钮组中,选择Sql Server 身份验证,并输入登录密码:3. 勾选强制实施密码策略复选框:(密码策略一般是指加 ...
- 在sql设计中没法修改表结构
在做练习的时候经常表没设计好,后来有要去数据库修改表结构但是没词用界面修改的时候都会提示要保存 转自http://www.57xue.com/ItemView/Sql/2016061600160.ht ...
- Mysql中使用FIND_IN_SET解决IN条件为字符串时只有第一个数据可用的问题
今天在使用Mysql的存储过程处理数据的批量删除时,遇到了WHERE条件中使用IN(strlist)时(strlist为逗号分隔的字符串),只有strlist的第一个元素才有效的问题,现在将问题和解决 ...
- Access时间日期比较查询的方法总结
Access日期时间比较查询语句困扰过很多网友,种豆网整理了一下Access日期比较查询的几种方法,假定数据表明为TblName,日期/时间字段名为FDate(这里不能讲FDate设置为字符串,否则比 ...