ADO.NET實體資料模型詳細介紹

來源:互聯網
上載者:User

OleDbConnection,OracleConnection 或者SqlConnection這種串連,直接執行sql語句。現在的串連方式執行sql語句有了很大的不同,下面先看看簡單的單表的增刪改查操作,然後再看多表的關聯查詢,帶參數查詢等。
一、ADO.NET Entity對單表的增刪改查
有一個表,即在工程中是一個實體user,為了測試方便,所有欄位為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、刪除內容

複製代碼 代碼如下: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、修改內容複製代碼 代碼如下:using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.User.Equals("id"));

user.Remarks = "修改了內容";

entities.SaveChanges();
}

using (OracleEntities entities = new OracleEntities())
{
User user = entities.User.First<User>(a => a.User.Equals("id"));

user.Remarks = "修改了內容";

entities.SaveChanges();
}

4、查詢內容
(1)實體直接查詢
[/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"));

二、關聯查詢
比如還有個表Other與User外部索引鍵關聯。


進行查詢如下:

複製代碼 代碼如下: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.2cto.com

ObjectQuery<DbDataRecord> query = entities.CreateQuery<DbDataRecord>(esql);

foreach (DbDataRecord r in query)
{
string ss = r["detail"].ToString();
}
}

當然這些都是最基本的用法,因為使用的Linq和ESql,在後面再Linq和ESql的用法裡再詳細說明。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.