第一、创建一个sql server数据库,例如创建数据库 A_Test:
USE [A_TEST]
GO/****** Object: Table [dbo].[Person] Script Date: 09/07/2011 16:40:55 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOCREATE TABLE [dbo].[Person](
[Oid] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](50) NULL,
[Age] [int] NULL,
CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED
(
[Oid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]GO
第二、创建一个Window窗体应用程序,并创建数据库连接,如下
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);string conn = DevExpress.Xpo.DB.MSSqlConnectionProvider.GetConnectionString("Server", "uid", "pwd", "database");
XpoDefault.DataLayer = XpoDefault.GetDataLayer(conn, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);
Application.Run(new Form1());
}
}
第三创建持久化类Person
using System;
using DevExpress.Xpo;
namespace A_TEST
{
public class Person : XPLiteObject
{
Guid fOid;
[Key(true)]
public Guid Oid
{
get { return fOid; }
set { SetPropertyValue<Guid>("Oid", ref fOid, value); }
}
string fName;
[Size(50)]
public string Name
{
get { return fName; }
set { SetPropertyValue<string>("Name", ref fName, value); }
}
int fAge;
public int Age
{
get { return fAge; }
set { SetPropertyValue<int>("Age", ref fAge, value); }
}
public Person(Session session) : base(session) { }
public Person() : base(Session.DefaultSession) { }
public override void AfterConstruction() { base.AfterConstruction(); }
}
}
第四、创建一个数据视图,拖拽一个gridControl和一个xpcollection到窗体中,并设置xpcollection的类对象属性为 A_Test.Person
设置gridControl的数据库属性到xpcollection,接着Person类型,测试如下
private void Form1_Load(object sender, EventArgs e)
{
A_TEST.Person p1 = new A_TEST.Person();
p1.Name = "sue";
p1.Age = 26;
p1.Save();
}
F5调试运行。