Data binding 如何将包含可写datagridview连接的linq到实体查询绑定?
这个问题,虽然,似乎不是一个重复。如果是,请澄清,我很乐意合并 我想使用包含连接的linq to entities查询绑定到可写DataGridView。模型如下: 非规范化DataGridView的绑定方式如下: 以下代码绑定,但会导致一个只读DataGridView,因为linq to entities查询返回一个匿名类型()。我陷入了僵局,因为我想我需要匿名类型来进行非规范化Data binding 如何将包含可写datagridview连接的linq到实体查询绑定?,data-binding,datagridview,linq-to-entities,denormalization,Data Binding,Datagridview,Linq To Entities,Denormalization,这个问题,虽然,似乎不是一个重复。如果是,请澄清,我很乐意合并 我想使用包含连接的linq to entities查询绑定到可写DataGridView。模型如下: 非规范化DataGridView的绑定方式如下: 以下代码绑定,但会导致一个只读DataGridView,因为linq to entities查询返回一个匿名类型()。我陷入了僵局,因为我想我需要匿名类型来进行非规范化 var query = from t in iDictionaryContext.DisplayTexts
var query = from t in iDictionaryContext.DisplayTexts
from l in iDictionaryContext.Languages
where
t.LanguageID == l.LanguageID
select new
{
Key = t.DisplayKey,
Text = t.DisplayText1,
Language = l.LanguageName
};
我还尝试了建议的解决方案,但它似乎适用于LINQtoSQL,而不适用于LINQtoEntities。将bindingsource.datasource设置为linq to entities查询时,会引发一个异常,读取“linq to entities中仅支持无参数构造函数和初始值设定项”
谢谢你的建议
Tim就这样定义演示类型吧。您不必在构造函数中传递对象:
public class LanguageDisplayTextPresentation
{
public int Key { get; set; }
public string Text { get; set; }
public string Language { get; set; }
}
然后
var query = from t in iDictionaryContext.DisplayTexts
from l in iDictionaryContext.Languages
where
t.LanguageID == l.LanguageID
select new LanguageDisplayTextPresentation
{
Key = t.DisplayKey,
Text = t.DisplayText1,
Language = l.LanguageName
};
虽然这将使DataGridView可编辑,但不会更新实体,是吗?添加/删除行怎么样?