zoukankan      html  css  js  c++  java
  • Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法的函数存根

    今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生,

    有的甚至直指EF中是不能调用sqlserver里的方法的。

    因为之前搞过linq to sql 里面的SqlMethod ,所以觉得EF里面必须是可以的。

    首先需要简短介绍一下EF6和EF5,当你NuGet一个EF5的包的时候,只有EntityFramework,而EF6确有EntityFramework和EntityFramework.SqlServer,

    这2者是有很大区别的。

    在EF5环境下,我们如何使用SqlFunctions 呢?

    首先添加EF环境,在引用中添加Syste.Data.Entity,再添加命名空间

    using System.Data.Objects.SqlClient;

    然后写一个控制器测试

     1 public ActionResult Index()
     2         {
     3             int Count = 0;
     4             using (Models.TestProjectDBEntities db = new Models.TestProjectDBEntities())
     5             {
     6                 var Query = from c in db.AdminInfoes where SqlFunctions.Square(1.00)==c.Orders select c;
     7                 Count = Query.ToList().Count();
     8             }
     9             ViewBag.Count = Count;
    10             return View();
    11         }

    运行正常。

    EF6环境下,

    我们的引用中是存在EntityFramework和EntityFramework.SqlServer的,

    然后我们添加命名空间

    using System.Data.Entity.SqlServer;

    注意一下,跟EF5下的命名空间是不一样的,这个地方我也是出现了误区,当我的添加是using System.Data.Objects.SqlClient; 的时候一直报错,

    这个错误确实比较奇特,我网上找了很多原因一直没有找到,最后一个偶然的机会,才得到这个结果。

    然后我们再运行上面的测试代码,应该也是运行通过的。

    SqlFunctions里提供了很多的方法,这个都是比较简单的,就不做详细介绍了。

    本群提供ASP.NET MVC,EF,LINQ,WEB API技术支持,不在乎人多,在乎人精。
    ASP.NET MVC群 171560784  
    诚邀各路高手、初学者加入。
  • 相关阅读:
    Azure 虚拟机安全加固整理
    AzureARM 使用 powershell 扩容系统磁盘大小
    Azure Linux 云主机使用Root超级用户登录
    Open edX 配置 O365 SMTP
    powershell 根据错误GUID查寻错误详情
    azure 创建redhat镜像帮助
    Azure Powershell blob中指定的vhd创建虚拟机
    Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version
    Power BI 连接到 Azure 账单,自动生成报表,可刷新
    Azure powershell 获取 vmSize 可用列表的命令
  • 原文地址:https://www.cnblogs.com/kezhiping/p/3873746.html
Copyright © 2011-2022 走看看