以前那些 Database First , Modal First 都不合口味,可是这次 Code First 出现后,就觉得太棒了!就是我一直梦想的动态实现 类<--->数据库 互相转换。
在一些大运算量的地方,类---->内存数据库, 计算方便又快速。但是,似乎搞了半天也没能学会用 第三方数据库 class Program
{
static void Main(string[] args)
{
NerdDinners nerdDinners = new NerdDinners();
var dinner = new Dinner
{
Title = "Par at Scott's House",
EventDate = DateTime.Parse("12/31/2013"),
Address = "Building 40",
HostedBy = "[email protected]"
};
nerdDinners.Dinners.Add(dinner);
nerdDinners.SaveChanges(); var dinners = from d in nerdDinners.Dinners
select d; foreach (var item in dinners)
{
Console.WriteLine(item.ToString());
}
}
}
public class Dinner
{
public int DinnerID { get; set; }
public string Title { get; set; }
public DateTime EventDate { get; set; }
public string Address { get; set; }
public string HostedBy { get; set; } public virtual ICollection<RSVP> RSVPs { get; set; }
} public class RSVP
{
public int RsvpID { get; set; }
public int DinnerID { get; set; }
public string AttendeeEmail { get; set; } public virtual Dinner Dinner { get; set; }
} public class NerdDinners : DbContext
{
public NerdDinners(IDbConnection dbconn)
:base("abcdefg")
{
}
public DbSet<Dinner> Dinners { get; set; }
public DbSet<RSVP> RSVPs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//modelBuilder.Configurations;
base.OnModelCreating(modelBuilder);
}
} public NerdDinners(IDbConnection dbconn)
:base("abcdefg")
{
}
这里调用 DataContext(string str) 这个构造函数,
msdn上说:
Constructs a new context instance using the given string as the name or connection string for the database to which a connection will be made. For more information on how this is used to create a connection, see the res section for DbContext.注意这个DataContext 必须是 EF 4.1 上的(必须安装EF 4.1)然后我是这么写的:name="NerdDinners" connectionString="Data Source=Memory;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"然后执行,到了
nerdDinners.Dinners.Add(dinner);
也就是第一次使用,就有异常了!
杯具啊!!!!我估计你们也不太会,死马当活马医。
有人说要有支持 .net 4.1 的 System.Data.SQLite
但是我看了很多国外的帖子,似乎都跑的好好的,怪事哩!!!!!!!有牛人指点一二吗,谢谢~~~~~~~~
在一些大运算量的地方,类---->内存数据库, 计算方便又快速。但是,似乎搞了半天也没能学会用 第三方数据库 class Program
{
static void Main(string[] args)
{
NerdDinners nerdDinners = new NerdDinners();
var dinner = new Dinner
{
Title = "Par at Scott's House",
EventDate = DateTime.Parse("12/31/2013"),
Address = "Building 40",
HostedBy = "[email protected]"
};
nerdDinners.Dinners.Add(dinner);
nerdDinners.SaveChanges(); var dinners = from d in nerdDinners.Dinners
select d; foreach (var item in dinners)
{
Console.WriteLine(item.ToString());
}
}
}
public class Dinner
{
public int DinnerID { get; set; }
public string Title { get; set; }
public DateTime EventDate { get; set; }
public string Address { get; set; }
public string HostedBy { get; set; } public virtual ICollection<RSVP> RSVPs { get; set; }
} public class RSVP
{
public int RsvpID { get; set; }
public int DinnerID { get; set; }
public string AttendeeEmail { get; set; } public virtual Dinner Dinner { get; set; }
} public class NerdDinners : DbContext
{
public NerdDinners(IDbConnection dbconn)
:base("abcdefg")
{
}
public DbSet<Dinner> Dinners { get; set; }
public DbSet<RSVP> RSVPs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//modelBuilder.Configurations;
base.OnModelCreating(modelBuilder);
}
} public NerdDinners(IDbConnection dbconn)
:base("abcdefg")
{
}
这里调用 DataContext(string str) 这个构造函数,
msdn上说:
Constructs a new context instance using the given string as the name or connection string for the database to which a connection will be made. For more information on how this is used to create a connection, see the res section for DbContext.注意这个DataContext 必须是 EF 4.1 上的(必须安装EF 4.1)然后我是这么写的:name="NerdDinners" connectionString="Data Source=Memory;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"然后执行,到了
nerdDinners.Dinners.Add(dinner);
也就是第一次使用,就有异常了!
杯具啊!!!!我估计你们也不太会,死马当活马医。
有人说要有支持 .net 4.1 的 System.Data.SQLite
但是我看了很多国外的帖子,似乎都跑的好好的,怪事哩!!!!!!!有牛人指点一二吗,谢谢~~~~~~~~
解决方案 »
- 关于GridView的onrowdatabound方法中多次连接数据库很快会造成连接满的情况
- 读取数据库数据后 怎么写入到RichTextBox中?
- 请问一个json.NET 1.3的问题?
- 关于线程与锁
- 高手请进
- 请教,自定义数据组件,如何象DataSet一样
- 用DataTable如何在DataGrid中实现列求和?
- 转换.tif图像为jpg或gif 问题。
- 烦请高手给我将这段C代码转换成C#? 重分相谢啊!
- 请教高手:向datagridview中添加数据,如何让最新添加的数据始终显示在datagridview最上方一行?
- ASPxGridView对象中如何获取子表对象(DetailRow中的ASPxGridView:点击主表的行后展开的子表)的控制权?
- 「控件控」让世界真实起来·字符型点阵液晶显示屏
还是根本不知道什么 code first ......或者说连 EF 都不用的........
哥们,我说的内存数据库是指,类----数据库 ; 其中数据库我用 memory 方式
那调试是调整下程序试一试,软件是柔软的部件,代码是代替的号码……内存数据库有专门的含义。你想表达的应该是 ORMapping。
(。﹏。*) 我错了…… ,现在转到正题吧,有谁知道咩........
基本上我还是觉得连接sqlite数据库的地方写错了.......
http://blog.csdn.net/liuning800203/article/details/6638202
你可以下载Devart的dotConnect for SQLite,它是支持EF4.1的,不过它是商业license。你也可以用sql compact 4.0, sqlce也是免费不需要安装的,或者直接用sql server来进行测试,相信过一段时间SQLite.net的新版本就会出来,到时候换下驱动就可以了。
MySql.Data.MySqlClient 是从MySql下载的官网的 .net connector不知道的可以pm我
<add name="MySqlContr" connectionString="Server=localhost;Database=mydb;Uid=root;Pwd=chaobao;CharSet=UTF8;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
MySql.Data.MySqlClient 是从MySql下载的官网的 .net connector 但是总是提示System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。