这适用于带有 View 表的现有数据库。 尝试列出 View 表,但在我的操作中遇到此错误消息:
CREATE DATABASE permission denied in database 'master'.
要访问的 View 表称为:SomeTable
如果您在数据库 (ServerA_dev_alpha_custom) 上运行此命令:
sp_helptext 'SomeTable'
你会得到这个:
CREATE VIEW dbo.[SomeTable] AS SELECT * FROM ServerA_dev_alpha.dbo.[SomeTable]
这是模型:
public class SomeTable
{
[Key]
public virtual string SomeTableid { set; get; }
public virtual string name { set; get; }
public virtual string formvalue { set; get; }
public virtual string status { set; get; }
public virtual DateTime CreateDate { set; get; }
}
类名:
public class SomeDB: DbContext
与连接字符串名称完全匹配:
<add name ="SomeDB"
connectionString ="data source=ServerA\DBSome; integrated Security=SSPI; initial catalog=ServerA_dev_alpha_custom"
providerName="System.Data.SqlClient"/>
创建模型时发现错误:
SomeDB _db = new SomeDB();
var model = (from c in _db.SomeTable
orderby c.CreateDate descending
select c).Take(20);
当我更改连接字符串以指向定义表的位置时:ServerA_dev_alpha(数据库)它可以工作。
有什么想法吗?
最佳答案
即使您有一个现有数据库,将初始值设定项设置为 null 也可以:
Database.SetInitializer<SomeDB>(null);
第二;强制映射到表名就可以了:
modelBuilder.Entity<SomeTable>()
.ToTable("SomeTable");
关于sql - 数据库 'master' 中的 CREATE DATABASE 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109134/