[Table(Name="Country")] public class Country { [Column(IsPrimaryKey=true,IsDbGenerated=true)]//指定是主键,而且是自增的 public int CountryID { get; set; } [Column(CanBeNull = true, DbType = "NVarChar(100) not null")]//定义了数据类型 public string CountryName { get; set; } }
定义数据上下文,也可以认为就是数据库关系
必须继承DataContext,下面的定义表面这个数据库中有一个表Country。
connectionString这是链接字符串
public class WPContext : DataContext { public WPContext(string connectionString) : base(connectionString) { } public Table<Country> Countries { get { return this.GetTable<Country>(); } } }
二。在程序中创建数据上下文,也就是数据库
传统上创建或者链接数据库都离不开连接字符串,window phone也一样,语法稍微有点变化
isostore是关键字表面是在独立存储区域内,sdf就是数据库文件
string connectionString = "Data Source='isostore:/file.sdf'";
这个语法指定了文化特性
private const string ConnectionString = @"Data Source = CountryDB.sdf'; Culture Identifier = fr-FR; Case Sensitive = true;";
这个语法指定了加密的密码
private const string ConnectionString = @"Data Source='isostore:/CountryDB.sdf';Password='MyPassword';";
下面的代码就创建了file数据库。
定义自己的WPContext 的时候一定要内部有表数据,
string connectionString = "Data Source='isostore:/file.sdf'"; using (WPContext context = new WPContext(connectionString)) { //context.DeleteDatabase(); if (!context.DatabaseExists()) { context.CreateDatabase(); }}
创建数据上下文以后就可以对Country表进行数据操作。
所有的操作必须在数据上下文环境中进行,也就是using语法的闭合内
数据添加
Country model = new Country(); model.CountryName = "China2"; context.Countries.InsertOnSubmit(model); context.SubmitChanges();
数据查询
IQueryable<Country> query = from c in context.Countries select c; IList<Country> temp = query.ToList();
数据查找,更新和删除
IQueryable<Country> query2 = from c in context.Countries where c.CountryID==1 select c; Country c2 = query2.FirstOrDefault(); c2.CountryName = "update By"; context.SubmitChanges(); //删除 context.Countries.DeleteOnSubmit(c2); context.SubmitChanges();
以上代码在模拟器中可以顺利运行。
以上学习和代码都是比较简单入门,更复杂的应用还有待继续研究!
本文作者:音乐啤酒 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow