社区
LINQ
帖子详情
EF里code first开发数据库权限的疑惑
hztltgg
2011-11-01 10:37:27
一般数据库就是给了一个帐号,对某个数据库有建立表的权限,但是EF里,架构修改了就要重新建立数据库,这样这个权限不是很大了,一般是如何处理这个问题的?谢谢
...全文
277
12
打赏
收藏
EF里code first开发数据库权限的疑惑
一般数据库就是给了一个帐号,对某个数据库有建立表的权限,但是EF里,架构修改了就要重新建立数据库,这样这个权限不是很大了,一般是如何处理这个问题的?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx
q107770540
2011-11-01
打赏
举报
回复
[Quote=引用楼主 hztltgg 的回复:]
一般数据库就是给了一个帐号,对某个数据库有建立表的权限,但是EF里,架构修改了就要重新建立数据库,这样这个权限不是很大了,一般是如何处理这个问题的?谢谢
[/Quote]
EF里,架构修改了就要重新建立数据库?
机器人
2011-11-01
打赏
举报
回复
先用 sql server file 做数据库,不可以么?
Asp.Net MVC4+
EF
6
Code
First
权限
管理系统 源码下载
1.修改web.config
数据库
连接 2.修改Global.asax Application_start方法中。取消注释 //重新生成
数据库
//Database.SetInitializer(new DropCreateDatabaseAlways()); 3.先运行项目,进行登录 4.运行根目录...
权限
管理流程审批系统源码 RightsApprovalProcess.rar
权限
管理系统,系统主要使用的技术及相关资源:MVC5、
EF
6、
Code
First、WorkFlow4.5、EasyUI(IE9以上)等。包含说明文档,文档中有详细说明。 二、菜单功能 1、申请服务 2、我的申请 3、申请管理 4、统计分析 ...
毕设&课设&项目&实训-通用
权限
管理系统基础框架.zip
毕设&课设&项目&实训-通用
权限
管理系统基础框架,采用Asp.net MVC4+
EF
6
Code
First+Bootstrap 【项目资源】: 包含前端、后端、移动
开发
、操作系统、人工智能、物联网、信息化管理、
数据库
、硬件
开发
、大数据、课程...
oauth2.0_mysql_demo.rar
oauth2.0认证例子,使用Mysql
数据库
,重写IdentityUser,可自定义用户
权限
。 可做
EF
框架之
Code
First
开发
模式小例子参考,修改web.config连接字符串,运行程序可生成
数据库
及表结构。
权限
管理流程审批系统源码 v1.0.zip
权限
管理流程审批系统源码,系统主要使用的技术及相关资源:MVC5、
EF
6、
Code
First、WorkFlow4.5、EasyUI(IE9以上)等。包含说明文档 菜单功能: 1、申请服务 2、我的申请 3、申请管理 4、统计分析 注意事项:...
LINQ
8,497
社区成员
4,736
社区内容
发帖
与我相关
我的任务
LINQ
.NET技术 LINQ
复制链接
扫一扫
分享
社区描述
.NET技术 LINQ
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章