Entity framework的一些用法

写一个与数据库对应的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; }
    }


重写DropCreateDatabaseIfModelChanges

    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);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值