遇到的问题场景是:模型的属性“代码生成策略”如果是 使用“旧的 ObjectContext ”方式时,Linq默认返回的ObjectQuery可以直接赋值给combobox ,如果是使用的T4模板,则系统系统创建的上下文对象为DBContext Linq 返回的对象为DBquery,不可以直接赋值给combobox.
1、[旧的 ObjectContext 方式时的截图]
2、[DBcontext是的截图]
增加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(); } } }
链接: 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">