首页新闻找找看学习计划

entity framework几个问题

0
悬赏园豆:30 [已解决问题] 解决于 2014-09-01 17:32

1.entity framework在数据库中默认值在添加时怎么解决,想用数据库直接生成的默认值?

2.为什么执行entity framework查询后,我手动在后台删除这个数据库时,提示该数据库正在使用,删除不了,难道entity framework操作数据库后都不自动关闭的?

3.用linq直接查询时,在不.ToList()的情况下为什么不能直接转型?

using (MlyEntities meta = new MlyEntities())
{
 var list = (from x in meta.CorruptionTypes
                            orderby x.FCreateTime
                            select new
                            {
                                FID = x.FID,
                                FIP = x.FIP,
                                FTypeName = x.FTypeName,
                                FCreateTime = x.FCreateTime.Value.ToString("yyyy年MM月dd日")
                            });
}
查询后会报错,错误在FCreateTime = x.FCreateTime.Value.ToString("yyyy年MM月dd日")

请高手
小银光的主页 小银光 | 初学一级 | 园豆:25
提问于:2014-08-12 10:12
< >
分享
最佳答案
0

我也是初学。

ef有延迟加载,.toList的时候才会去数据库提取数据。或者在你使用的时候才会去数据库提取数据。

FCreateTime是什么类型的?DateTime吗?我记得DateTime貌似可以直接ToString的。还是有外键关联。

收获园豆:10
Arik lee | 初学一级 |园豆:194 | 2014-08-12 19:15
其他回答(2)
0

最近我也在看mvc,对于ef也是最初入门,顶多就是会从数据库生成实体。。。帮你顶一下~~~~同样的问题,你说在后台手动删除数据库是什么意思??实在sqlserver管理工具里面进行表数据的删除么?然后无法删除数据?还是无法删除那个表?还是将整个数据库删除?第三个问题,你的tostring貌似不可以这样用吧亲,我可没见过tostring("yyyy年MM月dd日")的,一般是tostring("yyyyMMdd"),具体的大小写忘了,这问题持续关注

收获园豆:10
LgV5 | 园豆:221 (菜鸟二级) | 2014-08-12 10:27

sql server 2008管理工具,手动删除数据库!.

ToString("yyyy年MM月dd日")不能这么写吗?为什么我将转成ToList()就可以用了?

支持(0) 反对(0) 小银光 | 园豆:25 (初学一级) | 2014-08-12 10:33

@小银光: 删除数据库的问题请看这里我的回答:http://q.cnblogs.com/q/64881/

ToString 的问题请看这里:http://stackoverflow.com/questions/4502842/int-to-string-in-entity-framework

支持(0) 反对(0) Launcher | 园豆:45040 (高人七级) | 2014-08-12 10:40

@小银光: Column 的数据库默认值,如果是 Code-first 的话,给你的属性添加上 [DatabaseGenerated(DatabaseGenerationOption.Computed)]。

支持(0) 反对(0) Launcher | 园豆:45040 (高人七级) | 2014-08-12 10:43
0

用这个试试

不一样的Orm

 

欢迎使用

收获园豆:10
【秦时明月】 | 园豆:803 (小虾三级) | 2014-08-12 11:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册