當前位置:首頁 » 編程語言 » ef原生sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ef原生sql

發布時間: 2022-01-19 14:14:05

❶ c#用 ef怎麼執行sql語句

EF model first方式, 你的DB是繼承ObjectContext

using(MyObjectContextdb=newMyObjectContext())
{
stringsql=「selectcolumnA,columnBfromTableAwhere1=1」;
db.ExecuteStoreQuery<TableAObject>(sql).ToList();//TableAObject就是你定義的對象,對象屬性就是columnA,columnB
}

code first, 你的db是繼承DbContext

using(MyDbContextdb=newMyDbContext())
{
stringsql=「selectcolumnA,columnBfromTableAwhere1=1」;
db.TableAObject.SqlQuery(sql).ToList();//TableAObject就是在MyDbContext定義的對象
}

這里只是列舉查詢的方式,僅供參考,一般新增 刪除 或者修改 用對象的方式比較多,如果是sql,一般是

db.Database.ExecuteSqlCommand(sqlString)

❷ entity framework怎麼實現sql的in語法

您好,請問您是想知道entity framework怎麼實現sql的in語法嗎?

❸ 如何得到EF查詢生成的SQL

在EF 4.1中,我們可以直接調用DbQuery<>的ToString()方法得到所生成的SQL。

using (var context = new MyDbContext())
{
    var people = from p in context.People
                 where p.PersonID > 100
                 select p;

    string sql = people.ToString();
}

所生成的SQL是:
SELECT 
[Extent1].[PersonID] AS [PersonID], 
[Extent1].[Name] AS [Name]
FROM [dbo].[People] AS [Extent1]
WHERE [Extent1].[PersonID] > 100
大 家應該已經猜到,這里的ToString()方法其實也就是調用了ObjectQuery<>的ToTraceString()方法。 DbQuery<>.ToString() ==> System.Data.Entity.Internal.Linq.InternalQuery<>.ToString()方法,此方法 在.NET Reflector得到的實現是這樣的:
public override string ToString()
{
    return this._objectQuery.ToTraceString();
}

❹ c# sql語句怎麼用ef的語句寫

using (MyObjectContext db = new MyObjectContext() ){ string sql = 「 select columnA, columnB from TableA where 1 = 1 」; db.ExecuteStoreQuery<TableAObject>(sql).ToList();//TableAObject就是你定義的對象,對象屬性就是columnA, columnB}

❺ 如何設置EF生成sql不帶dbo-CSDN論壇

這個是資料庫的owner(SQL Server)/scheme(Oracle)。
原則上,開發階段的這個屬性和部署階段應該是一致的,但確實有不一致的情況,這時候,需要動態修改這個參數。
有一個開源的解決方案,針對的是EF4,你可以參考一下,關鍵字:BrandonHaynes.ModelAdapter.EntityFramework
提供的重載可以在new一個ObjectContext的時候指定scheme。
另外,有必要手工修改一下生成的edmx文件里,特別是View中的SQL語句,把原始的scheme給去掉。xml標簽里的scheme可以保留。

❻ C# EF ,Dbset.SqlQuery(sqlStr); 和 DbContext.Database.sqlquery(sqlStr)兩者的區別

一樣啊,這是 DbContext.Database.SqlQuery(sqlStr) 直接使用方法。
Dbset.SqlQuery(sqlStr) 是把 DbContext.Database 實例化成 Dbset 再調用方法。

❼ 如何強制EF生成SQL Server 2008支持的SQL語句

找到安裝的 Data 文件夾,如果需要保存這些數據,則重命名該文件夾。
否則,請刪除 Data 文件夾。Microsoft 建議保留Data 文件夾,這就相當於保留了 MDF 和 LDF 格式的資料庫平面文件備份。
如果重命名 Data 文件夾,只要您在重新安裝時使用相同的名稱、路徑和 IP 地址,就可以將現有數據恢復到與使 SQL Server 離線時完全相同的狀態和條件。

❽ ef使用sql語句查詢單個數據,比如我要查詢某表裡面的某一個值,該怎麼用。謝謝大神

declare
varchar temp(10)
select @temp=z from DB:A where ...
if(@temp==1)
select * from DB:B where...
else if(@temp==2)
select * from DB:C where...
else if(@temp==3)
select * from DB:D where...
這個思路應該是這樣的,你自己把代碼補充完整,數據類型定好,希望能幫到你