使用EF给Combobox赋值时遇到问题的解决_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 使用EF给Combobox赋值时遇到问题的解决

使用EF给Combobox赋值时遇到问题的解决

 2017/11/15 15:03:37  孺牛码塔  程序员俱乐部  我要评论(0)
  • 摘要:一、创建一个Ado.net实体模型二、根据实体模型创建上下文和实体映射遇到的问题场景是:模型的属性“代码生成策略”如果是使用“旧的ObjectContext”方式时,Linq默认返回的ObjectQuery可以直接赋值给combobox,如果是使用的T4模板,则系统系统创建的上下文对象为DBContextLinq返回的对象为DBquery,不可以直接赋值给combobox.1、[旧的ObjectContext方式时的截图]2、[DBcontext是的截图]三、异常解决方法增加toList(
  • 标签:解决 使用 问题

一、创建一个Ado.net实体模型

image

二、根据实体模型创建上下文和实体映射

遇到的问题场景是:模型的属性“代码生成策略”如果是 使用“旧的 ObjectContext ”方式时,Linq默认返回的ObjectQuery可以直接赋值给combobox ,如果是使用的T4模板,则系统系统创建的上下文对象为DBContext Linq 返回的对象为DBquery,不可以直接赋值给combobox.

1、[旧的 ObjectContext 方式时的截图]

image

2、[DBcontext是的截图]

image

三、异常解决方法

增加toList()方法解决

class="csharpcode">        private void button4_Click(object sender, EventArgs e)
        {

            using (Model1Container db = new Model1Container())
            {
                using (Model1Container db1 = new Model1Container())
                {
                    CBox_User.DisplayMember = "Name";
                    CBox_User.ValueMember = "Id";
                    var query =( from u in db1.Entity1Set
                                orderby u.LastName
                                select new { Name = u.LastName + ", " + u.FirstName, Id = u.FirstName }).ToList();
                    CBox_User.DataSource = query ;
                    int recordCount = query.Count();
                }
            }
        }

四、使用“代码生成策略”:T4模板时的源码

链接: https://pan.baidu.com/s/1eSw9W8U 密码: 5sb7

打赏支付宝

QQ20171114152709_thumb" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="QQ20171114152709_thumb" src="/Upload/Images/2017111515/67DA97DACB4443BB.jpg" width="244" height="226">

上一篇: 代码的坏味道【3】 下一篇: 没有下一篇了!
发表评论
用户名: 匿名