今天遇到一个问题,一段程序,写入数据库用ado.net ,sql 如下:
insert into news id,name value {1,'aaa'}
查询用 EF ,查看生成的语句:
select * from dbo.news
出现了一个问题,因为 访问数据库的账号不是 sa,所以 非 dba架构,ef查询出来的数据就不对了,请问怎么设置ef,使其生成sql 取消dbo 架构限制?
感谢dudu的回答,同时感谢群里 刘 的帮忙,问题解决
public class qcm_fyContext2 : Web.Models.qcm_fyContext
{
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//设置 Author 表名 T_Author 架构名 Lx
var dbo = ConfigurationManager.AppSettings["dbo"];
modelBuilder.Entity<C_Config>().ToTable("C_Config", dbo);
modelBuilder.Entity<T_NewsClass>().ToTable("T_NewsClass", dbo);
modelBuilder.Entity<T_News>().ToTable("T_News", dbo);
modelBuilder.Entity<video_category>().ToTable("video_category", dbo);
modelBuilder.Entity<video_Info>().ToTable("video_Info", dbo);
modelBuilder.Entity<video_school>().ToTable("video_school", dbo);
modelBuilder.Entity<A_AD>().ToTable("A_AD", dbo);
}
}
可以通过下面的代码指定新的架构名
modelBuilder.Entity<T>().ToTable("表名", "架构名");
哇,这么晚了dudu还在哈~,感谢您的回答。
弱弱的问一句,这句话加载哪里?