欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

DevExpress XPO使用WCF数据源

发布时间:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DevExpress XPO使用WCF数据源 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

XPO(eXpress Persistent Objects)DevExpress开源的ORM框架,是对象和关系数据库之间的桥梁。使用XPO可以大大简化对数据库操作。

XPO还支持WCF - 使用IDataStore, ICachedDataStoreISerializableObjectLayer 提供者, 这样就不直接连接数据库,而可通过WCF services获取数据对象。 

例如:在企业环境下,核心数据库并不希望对不同的业务系统开放。此时使用编写一个WCF服务作为应用服务器,就可以避免数据库直接暴露出来,同时还可以在应用服务器端实现统一的认证管理。

具体实现:

步骤1:编写WCF服务 

创建一个“WCF服务应用程序”,引用DevExpress.Data.V18.2和DevExpress.Xpo.V18.2,修改.svc文件。

public class ExamWcfService : DataStoreService{public static IDataStore DataStore;static ExamWcfService(){string dbs = ConfigurationManager.AppSettings["dbserver"];string user = ConfigurationManager.AppSettings["user"];string password = ConfigurationManager.AppSettings["password"];string db = ConfigurationManager.AppSettings["db"];string connectionString = MSSqlConnectionProvider.GetConnectionString(dbs,user,password,db);DataStore = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.SchemaOnly);}public ExamWcfService() : base(DataStore){}}

说明:

(1)从DataStoreService继承。

(2)编译后,将WCF服务应用部署到IIS上。

(3)此时WCF服务作为数据提供者。

步骤2:创建一个类库项目,用于产生XPO实体类

引用DevExpress.Data.V18.2和DevExpress.Xpo.V18.2。

利用ORM Data Model向导,直接根据数据表产生XPO实体类。编译产生实体类DLL文件。

步骤3:编写客户端,从WCF获取数据(XPO对象)

引用步骤2创建的实体类DLL,引用DevExpress.Data.V18.2和DevExpress.Xpo.V18.2。

string connstr = "http://10.127.0.15:8080/wcf/ExamWcfService.svc";XpoDefault.DataLayer = XpoDefault.GetDataLayer(connstr,AutoCreateOption.SchemaOnly);Customer cus = new Customer(XpoDefault.Session);cus.CompanyName = "scetc";cus.Save();using (UnitOfWork uow = new UnitOfWork()){using (XPCollection<Admins> customers = new XPCollection<Admins>(uow)){foreach (Admins customer in customers){Console.WriteLine("Company Name = {0}; ContactName = {1}", customer.Admin, customer.Classroom);}}}

说明:传统XPO的数据提供者为不同类型的数据库。如访问MSSQL服务器的连接字符串写法

string connstr=MSSqlConnectionProvider.GetConnectionString(sqlserverip,username,password,db);

 

总结

以上是生活随笔为你收集整理的DevExpress XPO使用WCF数据源的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。