EF里code first开发数据库权限的疑惑

hztltgg 2011-11-01 10:37:27
一般数据库就是给了一个帐号,对某个数据库有建立表的权限,但是EF里,架构修改了就要重新建立数据库,这样这个权限不是很大了,一般是如何处理这个问题的?谢谢
...全文
277 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnswxy 2011-11-03
  • 打赏
  • 举报
回复
这个问题我也想问。等高手回答。
不过。楼上有朋友说。直接在服务器上执行修改表结构的 SQL 语句。这也是一个可行的办法。
再一个。如果不要ModelHash表,也可这样做

modelBuilder.Conventions.Remove<IncludeMetadataConvention>();

这样,他创建的时候,就不会有 ModelHash 表了
hztltgg 2011-11-01
  • 打赏
  • 举报
回复
为了提高机器性能,方便在不同的地方开发,我本地机器上是没有安装sql数据库的,直接在生产服务器上开发的,不过为了安全起见,防止代码错误,影响别的数据库,帐号都是使用受限的,一个项目给一个数据库和一个帐号。
现在这样的话,如果给了Drop & Create权限,万一一个不小心,把别的数据库给删了就麻烦了。

或许大家都是在本地机器上安装数据库的吧,不太会遇到我的问题,我现在想在解决方案里再添加一个项目,单纯是建立数据库的,connectionstring里用个有权限的账户,需要的时候就先执行以下这个项目,就是这样感觉也是挺麻烦的
threenewbee 2011-11-01
  • 打赏
  • 举报
回复
给一个非官方,我不完全测试,证明可行的办法。

在本地建立一套开发数据库,服务器上是生产数据库。

改动模型,会修改本地数据库。
记录下建库脚本,修改为修改数据库脚本,在服务器上更新。
然后记录本地的ModelHash,在一个特殊的表中。再在服务器端修改ModelHash等于这个值。

这样可以骗过EF Codefirst,让它认为服务器表结构和模型是匹配的,不需要重建,达成迁移。
行者无疆-Kevin 2011-11-01
  • 打赏
  • 举报
回复
我是这样打算的:
在开发的时候,付给系统较大的权限,这样可以Drop & Create

如果在上线以后,则修改给用户的权限,不给它那么大的权限,再者说,如果用户正在测试呢,我们的模型一改,他们的测试数据全没了,岂不要投诉,

结合测试后的系统,修改代码后,手工修改数据库保持同步,这是的建议.
hztltgg 2011-11-01
  • 打赏
  • 举报
回复
数据不能保留我还能接受,不过需要建立和删除数据库的权限就有点麻烦,一般我都是先在数据库服务器上建立一个数据库,并分配一个帐号,这个帐号只有这个数据库的权限,没有其他的管理权限。

现在这样的话,等于是放弃了从代码到建立数据库的自动完成功能了
lihuinihao6315 2011-11-01
  • 打赏
  • 举报
回复
关注也是这个问题,model修改了就要重新建立数据库。原先的数据如何保留 难道只有在初始化的时候加载吗?。关注,顶。
hztltgg 2011-11-01
  • 打赏
  • 举报
回复
但是在开发的时候,model势必会不断的修改的,难道是在开发的时候用sa,发布的时候再去掉sa和那段代码?
kkbac 2011-11-01
  • 打赏
  • 举报
回复
上面这个好像是初始化数据库用的, 你去掉了就不会修改model了重建数据库了.

和sa没联系,一般都不建议用sa帐号的.
不过登录的sql的用户的权限要高点, 给个所有者权限试试.
hztltgg 2011-11-01
  • 打赏
  • 举报
回复
我迷糊了

建立实体,config里配置connectionstring
context里
Database.SetInitializer(Of ProfessionExpandContext)(
New DropCreateDatabaseAlways(Of ProfessionExpandContext)
)
如果连接字符串不是sa登录,是会提示出错的呀?!难道我搞错了
q107770540 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 hztltgg 的回复:]
一般数据库就是给了一个帐号,对某个数据库有建立表的权限,但是EF里,架构修改了就要重新建立数据库,这样这个权限不是很大了,一般是如何处理这个问题的?谢谢
[/Quote]
EF里,架构修改了就要重新建立数据库?
机器人 2011-11-01
  • 打赏
  • 举报
回复
先用 sql server file 做数据库,不可以么?

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧