Tsql 如何在EF中执行标量用户定义函数

Tsql 如何在EF中执行标量用户定义函数,tsql,entity-framework-4,Tsql,Entity Framework 4,标量UDF是否可以通过EF执行 谢谢是的。这是受支持的,下面是一个如何做的快速演练 更改EF SSDL: <Function Name="AvgStudentGrade" ReturnType="decimal" Schema="dbo" > <Parameter Name="studentId" Mode="In" Type="int" /> </Function> 使用它: var students = from s in context.Peopl

标量UDF是否可以通过EF执行


谢谢

是的。这是受支持的,下面是一个如何做的快速演练

更改EF SSDL:

<Function Name="AvgStudentGrade" ReturnType="decimal" Schema="dbo" >
  <Parameter Name="studentId" Mode="In" Type="int" />
</Function>
使用它:

var students = from s in context.People
                   where s.EnrollmentDate != null
                   select new
                   {
                       name = s.LastName,
                       avgGrade = AvgStudentGrade(s.PersonID)
                   };
更多信息和完整样本位于:

假设您有一个名为MyDbSet的表,它可以是您想要的任何表。然后创建一个guid为“test”的记录,然后使用下面的方法执行ef标量函数并返回结果

MyDbSet
.Where(o => o.Guid == "test")
.Select(o => EF.Functions.ToTsVector(request.Keywords))
.FirstOrDefault();

谢谢你的回复。我只能看到.edmx和designer文件。没有可用的SSDL文件。如何找到它?谢谢
MyDbSet
.Where(o => o.Guid == "test")
.Select(o => EF.Functions.ToTsVector(request.Keywords))
.FirstOrDefault();