首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用xpo (devexpress)从数据库中获取数据?

如何使用xpo (devexpress)从数据库中获取数据?
EN

Stack Overflow用户
提问于 2012-09-28 23:10:21
回答 2查看 15.9K关注 0票数 0

我是devexpress的新手,我有一些困难。

我已经用visual studio创建了一个项目".net empty c#“。我想用"devexpress xpo“连接我的数据库"mysql”。

我创建了一个"dxperience orm数据模型向导“来连接我的数据库。最后,我有了一个“connectionHelper.cs”(只有几个静态方法)和一个带有我的表名的类。

但是我不明白,怎么连接,读,写,...在数据库中使用connectionHelper吗?我阅读了devexpress的文档,但我没有得到相同的结果。

提前谢谢你

类连接助手:

代码语言:javascript
复制
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
namespace ProduWebEmpty.produweb
{
    public static class ConnectionHelper
    {
        public const string ConnectionString = @"XpoProvider=MySql;server=localhost;user id=root; password=; database=web;persist security info=true;CharSet=utf8;";
        public static void Connect(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption)
        {
            XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
            XpoDefault.Session = null;
        }
        public static DevExpress.Xpo.DB.IDataStore GetConnectionProvider(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption)
        {
            return XpoDefault.GetConnectionProvider(ConnectionString, autoCreateOption);
        }
        public static DevExpress.Xpo.DB.IDataStore GetConnectionProvider(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption, out IDisposable[] objectsToDisposeOnDisconnect)
        {
            return XpoDefault.GetConnectionProvider(ConnectionString, autoCreateOption, out objectsToDisposeOnDisconnect);
        }
        public static IDataLayer GetDataLayer(DevExpress.Xpo.DB.AutoCreateOption autoCreateOption)
        {
            return XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
        }
    }
}

类authentification.cs (身份验证是数据库中我的表名)

代码语言:javascript
复制
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
namespace ProduWebEmpty.produweb
{
    public partial class authentification
    {
        public authentification(Session session) : base(session) { }
        public authentification() : base(Session.DefaultSession) { }
        public override void AfterConstruction() { base.AfterConstruction(); }
    }
}

类authentification.designer.cs:

代码语言:javascript
复制
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
namespace ProduWebEmpty.produweb
{

    public partial class authentification : XPLiteObject
    {
        int fId;
        [Key(true)]
        public int Id
        {
            get { return fId; }
            set { SetPropertyValue<int>("Id", ref fId, value); }
        }
        string fPseudo;
        [Size(255)]
        public string Pseudo
        {
            get { return fPseudo; }
            set { SetPropertyValue<string>("Pseudo", ref fPseudo, value); }
        }
        string fMotDePasse;
        [Size(255)]
        public string MotDePasse
        {
            get { return fMotDePasse; }
            set { SetPropertyValue<string>("MotDePasse", ref fMotDePasse, value); }
        }
        string fEmail;
        [Size(255)]
        public string Email
        {
            get { return fEmail; }
            set { SetPropertyValue<string>("Email", ref fEmail, value); }
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2017-04-05 22:50:24

连接到数据库的

代码语言:javascript
复制
IDataLayer db_layer = XpoDefault.GetDataLayer(new SqlConnection(@sqlCon_str),
    DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);
    Session session =new Session(db_layer);

mypersistent record =new mypersistent(session){
property1="string property",
property2=123456
};
record.Save(); // save new record(line) to Database With Unique Oid

要阅读的

代码语言:javascript
复制
//if you know the Unique_Oid so:
mypersistent record=session.FindObject<mypersistent>(CriteriaOperator.Parse("Oid = ?",Unique_Oid );

Console.WriteLine(string.Format("property1 = {0} , property2={1}",record.property1,record.property2));

否则你可以阅读一个集合:

代码语言:javascript
复制
XpCursor collection=new XpCursor(session,typeof(mypersistent),CriteriaOperator.Parse("property1 = '?'","string property");

foreach(mypersistent p in collection) { /* .... */ }

要删除的:

代码语言:javascript
复制
//after getting record from database (above) 

record.Delete();

更新

代码语言:javascript
复制
//Update

record.property1="Hello";
record.Save();
票数 1
EN

Stack Overflow用户

发布于 2012-09-29 01:12:23

您可以从How to use XPO in an ASP.NET (Web) application知识库文章中列出的说明开始。

“示例”部分中提供的示例说明了实际操作中的主要场景。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12642668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档