使用實體框架返回資料表

2021-10-05 08:42:37 字數 2967 閱讀 5634

目錄背景

擴充套件方式

實體框架(entity framework)

實體框架核心(entity framework core)

使用擴充套件方法

使用常規查詢

使用引數化查詢

不同資料庫的dbparameter名稱

將源**與sql-server db一起使用

db物件

解決方案和專案

在應用程式的特定情況下,我們必須以

datatable

物件的形式獲取結果。該應用程式正在使用

oracle

資料庫和

entity framework edmx

。我們必須使用現有的資料庫上下文例項從未對映的共享檢視中選擇資料。為此,我實際上為

dbcontext

物件編寫了一些擴充套件方法,如下所述。

我們將建立

dbcontext

同時考慮entity frameworkentity framework core擴充套件方法。擴充套件方法將通過以下方式呼叫:

讓我們開始編寫**。

using system.data;

using system.data.common;

using system.data.entity;

public static class dbcontextextensions

}using (dbdataadapter adapter = dbfactory.createdataadapter())

}return datatable;

}}

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.data;

using system.data.common;

using microsoft.entityframeworkcore;

public static class dbcontextextensions

}using (dbdataadapter adapter = dbfactory.createdataadapter())

}return datatable;

}}

我試圖將**放到乙個普通專案中,這實際上取決於

microsoft.entityframeworkcore.relational

。預設情況下,它會自動包含任何提供程式

dll,比如

microsoft.entityframeworkcore.sqlserver。

var db = new mopdb();

datatable alluser = db.datatable("select * from [dbo].[tbl_test_role]");

var db = new mopdb();

/*stored procedure*/

datatable searchuser = db.datatable(

"exec sp_test_role @name = @paramname",

new sqlparameter("paramname", sqldbtype.nvarchar)

);/*select query*/

datatable likeuser = db.datatable(

"select * from [dbo].[tbl_test_role] where [name] like '%' + @paramname +'%'",

new sqlparameter("paramname", sqldbtype.nvarchar)

);

我們正在執行儲存過程和查詢,我相信函式也將起作用。

建立db物件

create table [dbo].[tbl_test_role] (

[id] int identity (1, 1) not null,

[name] nvarchar (50) not null,

[details] nvarchar (150) null,

primary key clustered ([id] asc)

);insert into [dbo].[tbl_test_role] (name)

values ('admin'), ('sa'), ('user');

create procedure sp_test_role @name nvarchar(30)

asbegin

select * from [dbo].[tbl_test_role]

where [name] = @name;

end;

如果需要,可以刪除db物件

drop table [dbo].[tbl_test_role];

drop procedure sp_test_role;

這是visual studio 2017解決方案:

更改連線字串

withef中的:

withefcore中的:

"connectionstrings":

Hadoop HIVE 資料表 使用

3 使用 3.1 資料匯入 3.1.1 可以使用命令列匯入,也可以直接上傳到hdfs的特定目錄 3.1.2 格式問題 3.1.2.1 缺失 不合法字段預設值為null 3.1.2.2 最好資料是格式化的,不要缺失字段 3.1.3 從hdfs其他目錄匯入 3.1.3.1 hadoop fs put o...

Django ORM框架 生成資料表

databases 需要注意的是,django連線sql需要安裝mysqlclient模組。進入虛擬環境,輸入命令pipenv install mysqlclient。我們先使用django自帶的sqlite3資料庫來學習。不需要修改配置檔案。資料庫 需要手動建立資料庫 資料表 與orm中的模型類 ...

根據SQLServer資料表生成C 實體類

生成表的實體類工具,有助於減少 量,加快開發速度.第一副圖根據輸入的連線伺服器位址 使用者名稱 登入資料庫名 密碼連線到資料庫.如果錯誤則提示連線失敗.第二幅圖先取的當前資料庫所有的使用者建立的表 然後根據選中的表名取得資料庫中關於此表資訊的的系統表.然後將字段型別轉換為c 資料型別.並輸出的tex...