ADO.NET實(shí)體數(shù)據(jù)模型詳細(xì)介紹
OleDbConnection,OracleConnection 或者SqlConnection這種連接,直接執(zhí)行sql語句?,F(xiàn)在的連接方式執(zhí)行sql語句有了很大的不同,下面先看看簡(jiǎn)單的單表的增刪改查操作,然后再看多表的關(guān)聯(lián)查詢,帶參數(shù)查詢等。
一、ADO.NET Entity對(duì)單表的增刪改查
有一個(gè)表,即在工程中是一個(gè)實(shí)體user,為了測(cè)試方便,所有字段為string型。

1、增加新記錄
增加一條記錄如下:
[csharp]
using (OracleEntities entities = new OracleEntities())
{
User uer = User.CreateUser("id", "name", "age", "1");
entities.User.AddObject(user);
entities.SaveChanges();
using (OracleEntities entities = new OracleEntities())
{
User uer = User.CreateUser("id", "name", "age", "1");
entities.User.AddObject(user);
entities.SaveChanges();
}
2、刪除內(nèi)容
using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.ID.Equals("id"));
entities.DeleteObject(user);
entities.SaveChanges();
}
using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.ID.Equals("id"));
entities.DeleteObject(user);
entities.SaveChanges();
}
3、修改內(nèi)容
using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.User.Equals("id"));
user.Remarks = "修改了內(nèi)容";
entities.SaveChanges();
}
using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.User.Equals("id"));
user.Remarks = "修改了內(nèi)容";
entities.SaveChanges();
}
4、查詢內(nèi)容
(1)實(shí)體直接查詢
[/code]
using (OracleEntities entities = new OracleEntities())
{
ObjectQuery<User> result = entities.User;//查詢所有
foreach (User item in result)
{
}
}
using (OracleEntities entities = new OracleEntities())
{
ObjectQuery<User> result = entities.User;//查詢所有
foreach (User item in result)
{
}
}
[/code]
(2)Esql查詢
ObjectQuery<DbDataRecord> result = entities.CreateQuery<DbDataRecord>("select value it from OracleEntities.User as it ");
(3)按條件查
var result = entities.User.Where(o => o.id.Equals("id"));
二、關(guān)聯(lián)查詢
比如還有個(gè)表Other與User外鍵關(guān)聯(lián)。

進(jìn)行查詢?nèi)缦拢?BR>
using (OracleEntities entities = new OracleEntities())
{
string esql = "SELECT b.detail FROM OracleEntities.User as a,OracleEntities.Other as b where a.otherid = b.id and a.id='id'";
ObjectQuery<DbDataRecord> query = entities.CreateQuery<DbDataRecord>(esql);
foreach (DbDataRecord r in query)
{
string ss = r["detail"].ToString();
}
}
using (OracleEntities entities = new OracleEntities())
{
string esql = "SELECT b.detail FROM OracleEntities.User as a,OracleEntities.Other as b where a.otherid = b.id and a.id='id'"; www.dhdzp.com
ObjectQuery<DbDataRecord> query = entities.CreateQuery<DbDataRecord>(esql);
foreach (DbDataRecord r in query)
{
string ss = r["detail"].ToString();
}
}
當(dāng)然這些都是最基本的用法,因?yàn)槭褂玫腖inq和ESql,在后面再Linq和ESql的用法里再詳細(xì)說明。
相關(guān)文章
C#開發(fā)Windows UWP系列之布局面板RelativePanel
這篇文章介紹了C#開發(fā)Windows UWP系列之布局面板RelativePanel,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
C#中String.LastIndexOf方法小結(jié)
String.LastIndexOf()是C#中string類的一個(gè)方法,它用于在字符串中查找指定子字符串(或字符)最后一次出現(xiàn)的位置,并返回其索引,本文主要介紹了C#中String.LastIndexOf方法小結(jié),感興趣的可以了解一下2024-01-01
C#中一個(gè)方法返回多個(gè)值的實(shí)現(xiàn)方法小結(jié)
通常一個(gè)方法只能返回一個(gè)值,但是如果在某些時(shí)候,我們想要返回多個(gè)值,例如某個(gè)方法將一個(gè)浮點(diǎn)數(shù)分割成一個(gè)整數(shù)和一個(gè)小數(shù)返回,因此本文給大家介紹了C#中一個(gè)方法返回多個(gè)值的實(shí)現(xiàn)方法及示例代碼,需要的朋友可以參考下2024-05-05
C# OleDbDataReader快速數(shù)據(jù)讀取方式(3種)
這篇文章主要介紹了C# OleDbDataReader快速數(shù)據(jù)讀取方式(3種),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
C# OCR實(shí)現(xiàn)文字識(shí)別功能
OCR,中文叫做光學(xué)字符識(shí)別。它是利用光學(xué)技術(shù)和計(jì)算機(jī)技術(shù)把印在或?qū)懺诩埳系奈淖肿x取出來,并轉(zhuǎn)換成一種計(jì)算機(jī)能夠接受、人又可以理解的格式。本文將利用OCR實(shí)現(xiàn)文字識(shí)別功能,感興趣的可以了解一下2022-11-11
解析C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范
這篇文章主要介紹了C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范,這里我們根據(jù)C#語言的開發(fā)方微軟給出的約定來作為編寫樣式參照,需要的朋友可以參考下2016-01-01

