很高兴知道EF 6中支持HasDefaultSchema方法,因此我可以设置EF可以使用的模式。但是,我想知道是否有可能在生成SQL语句时使EF消除模式前缀(例如,生成“select * from TableA”而不是“select * from dbo.TableA”),以便数据库引擎将使用默认模式与当前数据库用户关联。
我有几个数据库用户,每个用户都有一个唯一的模式集作为其默认模式。我想我可以使用他们的特定用户名,密码和相同的SQL语句“SELECT * FROM TableA”分别获得每个用户的正确数据。
感谢。
答案 0 :(得分:0)
试试这个
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.HasDefaultSchema("");
}