DevExpress ASP.NET 使用经验谈(3)-XPO对象的使用(使用指定数据连接)
2014-12-01 00:30
423 查看
首先,我们贴出上一节Users类XPO对象的保存代码,直接建立的XPO Session会话,因为没有与我们所期望的数据层建立绑定,
所以程序自动创建了一个Access数据库,作为默认数据库操作对象来使用,即程序目录下的DevConsole.vshost.mdb数据库文件。
修改配置文件,增加ConnectionStrings配置节:
修改代码如下,将数据层与会话绑定。
点击运行该控制台程序,查看Sql Server DemoDB数据库,Users表已经存在刚才添加的数据。
图一 执行XPO对象的保存
图二 查看Sql Server数据库保存结果
对于XPO对象的保存,我们使用了Save,如果需要通过XPO对象执行删除,我们可以采用Delete方法,代码如下:
那么,有没有Load方法,可以读取一条Users数据呢? 找遍之后,发现居然没有,那我们通过什么方式获取指定一条Users数据呢?
通过
执行结果如下:
图三 执行Save、Delete方法,通过CriteriaOperator表达式FindObject获取对象
下一节中,我们将简单介绍如何通过CriteriaOperator查找数据...
博文作者:挪威森林(Coding of life)
博文出处:http://www.cnblogs.com/allenlf/
主要研究:Web开发框架、ORM框架、WCF框架、医疗行业软件开发(HRP、EMR、CP、OA)
版权归 挪威森林 和 博客园 所有,转载请注明出处,谢谢合作
所以程序自动创建了一个Access数据库,作为默认数据库操作对象来使用,即程序目录下的DevConsole.vshost.mdb数据库文件。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using XPOModel.DemoDB; namespace DevConsole { class Program { static void Main(string[] args) { Users obj = new Users(new DevExpress.Xpo.Session()); obj.FirstName = "Dave"; obj.LastName = "Annable"; obj.EmailID = "Admin@gmail.com"; obj.Save(); Console.Write("已经通过XPO对象完成对象保存!"); Console.ReadLine(); } } }
修改配置文件,增加ConnectionStrings配置节:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> </startup> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=DemoDB;user id=demo;password=demo;Integrated Security=false" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
修改代码如下,将数据层与会话绑定。
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; using DevExpress.Xpo; using DevExpress.Xpo.DB; using XPOModel.DemoDB; namespace DevConsole { class Program { static void Main(string[] args) { string provider = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//获取数据库连接 IDataLayer datalayer = new SimpleDataLayer(XpoDefault.GetConnectionProvider(provider, AutoCreateOption.DatabaseAndSchema));//建立数据层XPO DevExpress.Xpo.Session session = new DevExpress.Xpo.Session(datalayer); //将数据层和会话绑定 Users obj = new Users(session); obj.FirstName = "Dave"; obj.LastName = "Annable"; obj.EmailID = "Admin@gmail.com"; obj.Save(); Console.WriteLine("已经通过XPO对象完成对象保存,保存对象ID:" + obj.UserID); Console.WriteLine(string.Format("ID:{0},FirstName:{1},LastName:{2}", obj.UserID, obj.FirstName, obj.LastName)); Console.ReadLine(); } } }
点击运行该控制台程序,查看Sql Server DemoDB数据库,Users表已经存在刚才添加的数据。
图一 执行XPO对象的保存
图二 查看Sql Server数据库保存结果
对于XPO对象的保存,我们使用了Save,如果需要通过XPO对象执行删除,我们可以采用Delete方法,代码如下:
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; using DevExpress.Data.Filtering; using DevExpress.Xpo; using DevExpress.Xpo.DB; using XPOModel.DemoDB; namespace DevConsole { class Program { static void Main(string[] args) { string provider = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//获取数据库连接 IDataLayer datalayer = new SimpleDataLayer(XpoDefault.GetConnectionProvider(provider, AutoCreateOption.DatabaseAndSchema));//建立数据层XPO独有的 DevExpress.Xpo.Session session = new DevExpress.Xpo.Session(datalayer); //将数据层和会话绑定 Users obj = new Users(session); obj.FirstName = "Dave"; obj.LastName = "Annable"; obj.EmailID = "Admin@gmail.com"; obj.Save(); Console.WriteLine("1.已经通过XPO对象完成对象保存,保存结果:"); Console.WriteLine(string.Format("ID:{0},FirstName:{1},LastName:{2}", obj.UserID, obj.FirstName, obj.LastName)); obj.Delete(); Console.WriteLine("3.删除对象ID:" + obj.UserID); Console.ReadLine(); } } }
那么,有没有Load方法,可以读取一条Users数据呢? 找遍之后,发现居然没有,那我们通过什么方式获取指定一条Users数据呢?
通过
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; using DevExpress.Data.Filtering; using DevExpress.Xpo; using DevExpress.Xpo.DB; using XPOModel.DemoDB; namespace DevConsole { class Program { static void Main(string[] args) { string provider = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//获取数据库连接 IDataLayer datalayer = new SimpleDataLayer(XpoDefault.GetConnectionProvider(provider, AutoCreateOption.DatabaseAndSchema));//建立数据层XPO独有的 DevExpress.Xpo.Session session = new DevExpress.Xpo.Session(datalayer); //将数据层和会话绑定 Users obj = new Users(session); obj.FirstName = "Dave"; obj.LastName = "Annable"; obj.EmailID = "Admin@gmail.com"; obj.Save(); Console.WriteLine("1.已经通过XPO对象完成对象保存,保存结果:"); Console.WriteLine(string.Format("ID:{0},FirstName:{1},LastName:{2}", obj.UserID, obj.FirstName, obj.LastName)); Console.WriteLine(); CriteriaOperator criteria = CriteriaOperator.Parse("[UserID]='" + obj.UserID + "'"); Users objnew = session.FindObject<Users>(criteria); Console.WriteLine("2.找到一个Users数据,ID为:" + objnew.UserID); Console.WriteLine(); objnew.Delete(); Console.WriteLine("3.删除对象ID:" + objnew.UserID); Console.ReadLine(); } } }
执行结果如下:
图三 执行Save、Delete方法,通过CriteriaOperator表达式FindObject获取对象
下一节中,我们将简单介绍如何通过CriteriaOperator查找数据...
博文作者:挪威森林(Coding of life)
博文出处:http://www.cnblogs.com/allenlf/
主要研究:Web开发框架、ORM框架、WCF框架、医疗行业软件开发(HRP、EMR、CP、OA)
版权归 挪威森林 和 博客园 所有,转载请注明出处,谢谢合作
相关文章推荐
- DevExpress ASP.NET 使用经验谈(3)-XPO对象的使用(使用指定数据连接)
- DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接)
- DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接)
- DevExpress ASP.NET 使用经验谈(1)-XPO模型的创建
- DevExpress ASP.NET 使用经验谈(1)-XPO模型的创建
- asp.net 应用数据缓存 -- Cache对象使用
- (WebSite----Asp.Net Configuration----->无法连接到SQL Server数据库------>选择数据存储区---->应用程序当前被配置为使用提供程序:AspNetSqlProvider)解决方案
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
- 关于ASP.NET下,JQuery+AJAX使用JSON返回对象集合List数据的总结
- DevExpress ASP.NET 使用经验谈(4)-CriteriaOperator的使用
- DevExpress ASP.NET 使用经验谈(7)-ASPxTreeList控件使用
- ASP.NET开发经验 --- 使用 GUID 值来作为数据库行标识
- (WebSite----Asp.Net Configuration----->无法连接到SQL Server数据库------>选择数据存储区---->应用程序当前被配置为使用提供程序:AspNetSqlProvider)解决方案
- ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据
- DevExpress ASP.NET 使用经验谈(8)-ASPxGridView自定义列和基本事件
- ASP.NET:使用DataTable对象保存数据
- DevExpress ASP.NET 使用经验谈(9)- Dev控件客户端事件 ClientSideEvents
- DevExpress ASP.NET 使用经验谈(9)-Dev控件客户端事件 ClientSideEvents
- DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作
- DevExpress ASP.NET 使用经验谈(4)-CriteriaOperator的使用