版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
ORM框架的对象关系映射
Sql Server安装:EntityFramework Mysql安装:MySql.Data.Entity
选择ADO.NET实体对象,
选择ADO.NET实体对象,创建edmx文件,需要安装vs数据库连接插件或者odbc驱动
右键菜单中,验证有无错误,连接数据库生成表数据
添加代码生成项,创建模型DBContext代码
using (Model1Container mc = new Model1Container())
{
mc.BlogsSet.Add(new Blogs()
{
Id = 1,
Name = "hello",
Title = "world"
});
mc.SaveChanges();
}
选择ADO.NET实体对象,
public class Blog
{
public int BlogId { get; set; }
public string Title { get; set; }
public DateTime CreateDate { get; set; }
}
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class BlogEntities : DbContext
{
public BlogEntities():base("name=mysqltest") { } //mysqltest是app.config中的key name
public DbSet<Blog> Blogs { get; set; }
}
创建数据库
using(BlogEntities blog = new BlogEntities())
{
blog.Blogs.Add(new Blog() {
BlogId = 1,
Title = "test",
CreateDate = DateTime.Now
});
blog.SaveChanges();
}
nuget添加EntityFramework后,配置文件App.config文件中配置数据库连接
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
添加连接字符串
<connectionStrings>
<add name="mysqltest" connectionString="Data Source=localhost;port=3306;Initial Catalog=mysql;user id=root;password=root;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
ef自动创建数据库和表,在已有数据库中需要创建结构一致的表(这个操作和code first违背)
https://www.cnblogs.com/1312mn/p/9239419.html