问题描述
我是EF的新手,开始是这样的,我现在有1张数据表已经存在了,现在又要加一张数据表,用CODEFIRST去加,但是我2张不同的数据表来源于不同的DbSet啊,然后的话,每次进行迁移的话,SEED方法只能进行一张数据表的迁移,如果迁移了某张表(比如新建),那么另一张表就会被DROP掉。我的DBSET都建立了,但是无论怎么进行UPDATE操作,要不就是不动,要不就是删了其中一张表,又建立了另一张表,请问怎么办啊?publicclassUserEntity:DbContext{publicUserEntity():base("name=MS2"){}publicDbSet<User>Users{get;set;}}
publicclassContentEntity:DbContext{publicContentEntity():base("name=MS2"){}publicDbSet<Content>Contents{get;set;}}
上面的是我写的2个实体模型protectedoverridevoidSeed(CRUD.Models.ContentEntitycontext){//Thismethodwillbecalledaftermigratingtothelatestversion.//YoucanusetheDbSet<T>.AddOrUpdate()helperextensionmethod//toavoidcreatingduplicateseeddata.E.g.////context.People.AddOrUpdate(//p=>p.FullName,//newPerson{FullName="AndrewPeters"},//newPerson{FullName="BriceLambson"},//newPerson{FullName="RowanMiller"}//);//}
下面的是SEED方法,SEED方法里面,如果改成了另一个模型的话(上面提到的),那么那个没有被写的模型在数据库里对应的表就会被DROP掉,我手动在UP方法里面写东西也没用,求教啊。。。。
解决方案
解决方案二:
问题解决了,做个记号,大家回帖好吗,不然我没分了啊!其实很简单,就是。。。。把多个DBSET放到一个类里面,这个类生成种子就OK了。