Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将LINQ函数结果强制转换为域对象_C#_Linq_Function_Casting - Fatal编程技术网

C# 将LINQ函数结果强制转换为域对象

C# 将LINQ函数结果强制转换为域对象,c#,linq,function,casting,C#,Linq,Function,Casting,我有一个表值函数在SQL server上执行全文搜索 LINQ中全文搜索函数的结果类型是一种特殊的自动生成类型,除了我的常规域对象属性外,还包括KEY和RANK 因此,如果我的常规域对象是PERSONS(具有属性FirstName、LastName等),那么我还有一个结果对象PERSONS\FTSResult,具有相同的属性+键和等级 有没有一种简单的方法可以把它扔给别人?你不能这样做吗: var x = from data in searchResults select new

我有一个表值函数在SQL server上执行全文搜索

LINQ中全文搜索函数的结果类型是一种特殊的自动生成类型,除了我的常规域对象属性外,还包括KEY和RANK

因此,如果我的常规域对象是PERSONS(具有属性FirstName、LastName等),那么我还有一个结果对象PERSONS\FTSResult,具有相同的属性+键和等级


有没有一种简单的方法可以把它扔给别人?

你不能这样做吗:

var x = from data in searchResults
        select new {
            key = data.Key,
            rank = data.Rank,
            person = new Person { firstName = data.FirstName }
                    };

Person p = x.First().person;
若有一点语法错误,我很抱歉,但我现在正在玩Eve在线游戏,而不是编码


:)

只是好奇,为什么不从查询结果中选择一个人,即,然后选择new PERSON{//assignproperties};你能给我一些示例代码吗?Robaticus发布了我的意图,你基本上选择了一个新的匿名类型。很抱歉,我无法理解这一点。您能检查一下这个代码吗?您说过您的搜索结果将包含Person的所有成员,以及Key和Rank。上面的LINQ选择一个包含所有数据的新匿名类型,并对其进行适当的初始化。它在类型中输入的前两个内容是键和等级。然后它创建一个新的Person实例,并使用结果集对其进行初始化。看着它,我确实注意到了一个问题,作业的右侧应该在前面加上“数据”一词。我来编辑。