zoukankan      html  css  js  c++  java
  • 在EF Core里面如何使用以前EntityFramework的DbContext.Database.SqlQuery<SomeModel>自定义查询

     问:


    With Entity Framework Core removing dbData.Database.SqlQuery<SomeModel> I can't find a solution to build a raw SQL Query for my full-text search query that will return the tables data and also the rank.

    The only method I've seen to build a raw SQL query in Entity Framework Core is via DbContext.Product.FromSql("SQL SCRIPT"); which isn't useful as I have no DbSet that will map the rank I return in the query.

    答:


    In EF Core you no longer can execute "free" raw sql. You are required to define a POCO class and a DbSet for that class. In your case you will need to define Rank:

    var ranks = DbContext.Ranks
       .FromSql("SQL_SCRIPT OR STORED_PROCEDURE @p0,@p1,...etc", parameters)
       .AsNoTracking().ToList();

    As it will be surely readonly it will be useful to include the .AsNoTracking() call.

    意思就是EF Core不支持DbContext.Database.SqlQuery<SomeModel>这种自定义查询了,请老老实实映射你的视图或存储过程查询结果到一个EF Core的Entity上,然后使用DbSet的FromSql方法实现查询结果的反序列化。。。

    原文链接

  • 相关阅读:
    bootstrap学习笔记
    java-多态
    java-重写
    java-继承
    java-包
    java-封装
    java-可变参数
    java-标准输入
    java-构造方法
    private、public、this关键字
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/9766793.html
Copyright © 2011-2022 走看看