LINQ to SQL和嵌套的EntitySet类型

时间:2016-03-15 13:07:50

标签: c# linq linq-to-sql

我有一个具有EntitySet的模型。我正在尝试构建一个LINQ语句,但我不确定如何形成代码。我得到一个强制转换错误,因为它无法将通用列表转换为EntitySet类型。

document.createTextNode('<span></span>');
//return &lt;span&gt;&lt;/span&gt;
//but browser inspect element shows it as: "<span></span>"

无法将源类型“列表”转换为目标类型“EntitySet”

2 个答案:

答案 0 :(得分:1)

显然,你有类似

的东西
from item in myItems
select new ParentRecord {
....

问题在于,您无法简单地将List<T>转换为EntitySet<T>,因为EntitySet<T>没有合适的构造函数。

最简单的方法是在Select中使用LINQ流利语法和匿名方法:

var result = myItems.Select(item => 
                {
                    var record = new ParentRecord
                    {
                        ParentID = item.ParentID,
                        Name = item.Name,
                        Age = item.Age
                    };
                    record.MyNestedChildRecords.AddRange(item.MyNestChildRecords);
                    return record;
                }).ToList()

我假设ParentRecord是一个LINQ-to-Sql实体类,因此它的MyNestedChildRecords将被初始化。

答案 1 :(得分:0)

试试这个:

var test = (from ns in item.MyNestedChildRecords
            select new ParentRecord
            {
                ParentID = item.ParentID,
                Name = item.Name,
                Age = item.Age,
                MyNestedChildRecords = new EntitySet<MyNestedChildRecords>() { ns }
            }).ToList();