【发布时间】:2016-07-09 23:49:48
【问题描述】:
我已经在另一个 Web 应用程序和数据库上使用了 Entity Framework 6,没有出现任何问题,但是我现在使用 EF6 编写了一个新的 Windows 窗体程序,该程序只有在我使用具有服务器系统管理员角色的集成安全性时才能工作。
如果我创建一个数据库登录名并将其映射到我需要的具有读取、写入和管理员角色的数据库,我会因为权限不足而收到无法创建表错误。如果我使用
this.SetDatabaseInitializer<Model>(null);
它不返回任何数据。
需要注意的是,另一个应用程序在这些数据库上运行并使用 Entity Framework 没有问题。我不确定哪个版本。我已尝试使用其他应用程序使用的相同登录名,但仍然无法正常工作。
这是我的连接字符串不起作用:
<add name="Model"
connectionString="Data Source=server;Initial Catalog=database;User ID=username; Password=password; Persist Security Info=True; MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient"/>
这行得通:
<add name="Model"
connectionString="data source=server;initial catalog=database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"
providerName="System.Data.SqlClient" />
我显然不能让每个人都成为系统管理员,因此我将不胜感激。我正在为这个拔头发。
【问题讨论】:
标签: c# sql-server winforms entity-framework entity-framework-6