ADO.NET实体数据模型详细介绍

 更新时间:2012年11月16日 10:16:29   作者:  
本文将详细介绍ADO.NET实体数据模型,下面先看看简单的单表的增删改查操作,然后再看多表的关联查询,带参数查询等

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.jb51.net

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

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


当然这些都是最基本的用法,因为使用的Linq和ESql,在后面再Linq和ESql的用法里再详细说明。
 

相关文章

  • C#开发Windows UWP系列之布局面板RelativePanel

    C#开发Windows UWP系列之布局面板RelativePanel

    这篇文章介绍了C#开发Windows UWP系列之布局面板RelativePanel,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#中String.LastIndexOf方法小结

    C#中String.LastIndexOf方法小结

    String.LastIndexOf()是C#中string类的一个方法,它用于在字符串中查找指定子字符串(或字符)最后一次出现的位置,并返回其索引,本文主要介绍了C#中String.LastIndexOf方法小结,感兴趣的可以了解一下
    2024-01-01
  • 一个进程间通讯同步的C#框架引荐

    一个进程间通讯同步的C#框架引荐

    这篇文章主要介绍了一个进程间通讯同步的C#框架,代码具有相当的稳定性和可维护性,随着.NET的开源也会被注入更多活力,推荐!需要的朋友可以参考下
    2015-07-07
  • C#使用HttpClient的正确方式你了解吗

    C#使用HttpClient的正确方式你了解吗

    在微服务架构体系中经常需要向特定 URL 地址发送 Http 请求操作,在 .net core 中 httpClient 使用不当会造成灾难性的问题,这篇文章主要来分享 .net core 中通过 IHttpClientFactory 工厂来使用 HttpClient 的正确打开方式
    2021-11-11
  • C#中一个方法返回多个值的实现方法小结

    C#中一个方法返回多个值的实现方法小结

    通常一个方法只能返回一个值,但是如果在某些时候,我们想要返回多个值,例如某个方法将一个浮点数分割成一个整数和一个小数返回,因此本文给大家介绍了C#中一个方法返回多个值的实现方法及示例代码,需要的朋友可以参考下
    2024-05-05
  • Unity3D在Preview中打印日志的方法

    Unity3D在Preview中打印日志的方法

    这篇文章主要为大家详细介绍了Unity3D在Preview中打印日志的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • C# OleDbDataReader快速数据读取方式(3种)

    C# OleDbDataReader快速数据读取方式(3种)

    这篇文章主要介绍了C# OleDbDataReader快速数据读取方式(3种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • C# OCR实现文字识别功能

    C# OCR实现文字识别功能

    OCR,中文叫做光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。本文将利用OCR实现文字识别功能,感兴趣的可以了解一下
    2022-11-11
  • c# 向MySQL添加数据的两种方法

    c# 向MySQL添加数据的两种方法

    这篇文章主要介绍了c# 向MySQL添加数据的两种方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • 解析C#编程的通用结构和程序书写格式规范

    解析C#编程的通用结构和程序书写格式规范

    这篇文章主要介绍了C#编程的通用结构和程序书写格式规范,这里我们根据C#语言的开发方微软给出的约定来作为编写样式参照,需要的朋友可以参考下
    2016-01-01

最新评论