写一个与数据库对应的Model
[Table("Blog")]
public class Blog
{
[Key]
public int Id { get; set; }
[Column(TypeName = "varchar")]
[MaxLength(30)]
public string Title { get; set; }
[Column(TypeName = "nvarchar")]
[MaxLength(300)]
public string Contents { get; set; }
public string UserName { get; set; }
public string CrDate { get; set; }
}
一个为页面用的Model
public class BlogModel
{
public int Id { get; set; }
public string Title { get; set; }
public string Contents { get; set; }
public string UserName { get; set; }
public string CrDate { get; set; }
}
一个为EF用的Identity类
public class Identity : DbContext
{
public Identity()
: base("MyConnection")
{
}
static Identity()
{
//如果表结构更改,则重新创建数据库
Database.SetInitializer<Identity>(new ApplicationDbInitializer());
//如果数据库不存在,则创建数据库
//Database.SetInitializer<Identity>(new CreateDatabaseIfNotExists<Identity>());
//每次都重新创建数据库
//Database.SetInitializer<Identity>(new DropCreateDatabaseAlways<Identity>());
}
public DbSet<Blog> Blog { get; set; }
}
public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<Identity>
{
protected override void Seed(Identity context)
{
context.Blog.Add(new Blog() { Title = "test2", Contents = "test2", UserName = "test2", CrDate = DateTime.Now.ToString() });
}
}
使用EF直接操作数据库,顺便试试Newtonsoft.Json
Identity identity = new Identity();
List<BlogModel> blogList = (from c in identity.Blog
select new BlogModel()
{
Title = c.Title,
Contents = c.Contents,
UserName = c.UserName
}).ToList();
string json = JsonConvert.SerializeObject(blogList);
List<BlogModel> deBlogList = JsonConvert.DeserializeObject<List<BlogModel>>(json);