首页 新闻 会员 周边 捐助

EF框架添加视图的一个问题

0
悬赏园豆:5 [已解决问题] 解决于 2013-11-04 10:03
create View Vw_IntegralSearch  
as  
select SystemID, AppSystemName,SUM(UseIntegral) as UseIntegral,loginid,username,UserId  
from(  
select asi.SystemID, asi.AppSystemName,uii.Integral as UseIntegral,uii.LoginId,uii.UserName,uii.UserId  
from UserIntegralInfo uii  
left join AppSystemInfo asi on asi.SystemID = uii.SystemID  
left join IntegralTypes it on it.TypeID = uii.TypeID  
where (isnull(WorkStartTime,'1900-01-01')<=GETDATE() 
and isnull(WorkEndTime,GETDATE()) >= GETDATE()) 
and uii.UseState =2  
union all   
SELECT asi.SystemID, asi.AppSystemName,-icf.SpendIntegral as  UseIntegral,icf.LoginId,icf.UserName,icf.UserId  FROM IntegralConverInfo icf  
left join AppSystemInfo asi on asi.SystemID = icf.SystemID  
) as tb   
group by tb.SystemID ,tb.AppSystemName,tb.loginid,tb.username,tb.UserId  

这个视图在那个edmx文件上添加不上去,我的另外几个视图都可以,不知道是什么原因。

牧人羊的主页 牧人羊 | 初学一级 | 园豆:5
提问于:2013-11-04 09:16
< >
分享
最佳答案
0

还会有如此神奇之事,对于这种问题 建议先重启VS一次,然后再添加视图,添加不上应该也会抛个异常什么的,贴出来看看吧~

这种问题我至少还没遇到过

收获园豆:2
Zery | 大侠五级 |园豆:6151 | 2013-11-04 09:22

没报什么异常,就是添加不上去

点击 完成之后 在从数据更新模型的时候它又在

牧人羊 | 园豆:5 (初学一级) | 2013-11-04 09:27

@行者之刃: 

如果视图添加了是可以在实体对象图中找到的,试试找到后删除,然后重新添加。要不就重新在DB中建一个视图,再试试,各种方法都试试吧~

Zery | 园豆:6151 (大侠五级) | 2013-11-04 09:33
其他回答(3)
1

这样的奇葩问题真的很无语,我遇到过更新table时,ef不自动更新的,都是我手动改的,郁闷

建议Lz,重启试试吧,有的时候重启就能解决莫名其妙的问题。

收获园豆:2
袁家小黑球 | 园豆:1045 (小虾三级) | 2013-11-04 09:39

哈哈 ,搞定了,我在视图里面修改了一个列就可以了 select isnull(max(SystemID),1) as ID, AppSystemName 不知道为什么要判断一下,无语

支持(0) 反对(0) 牧人羊 | 园豆:5 (初学一级) | 2013-11-04 09:45
0

可能是冲突了吧

收获园豆:1
平常心队长 | 园豆:1113 (小虾三级) | 2013-11-04 09:47
1

这个问题是因为视图里面全是可以为null的字段,EF推断不出主键

Walking Dead | 园豆:202 (菜鸟二级) | 2016-07-16 15:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册