首页 新闻 会员 周边 捐助

ef中复合类型的存取数据问题

-1
悬赏园豆:20 [已解决问题] 解决于 2012-03-25 19:18

  共享列表项
  public class FileShare
{
[Key]
[HiddenInput(DisplayValue = false)]
public int ID { get; set; }
public string Title { get; set; }//共享标题
public RFile File { get; set; }//共享的文件
public int fileID { get; set; }
public string Description { get; set; } //文件的描述
public User Container { get; set; }//文件拥有者
}


  文件
  
    public class RFile
{
public int ID { get; set; }
public string Mime { get; set; }//文件后缀
public string FilePath { get; set; }//文件存储路径
public string FileName { get; set; }//文件名字
public int FileSize { get; set; }//文件长大小,以KB计算
}
上传文件方法:
public class FileShare
{
[Key]
[HiddenInput(DisplayValue = false)]
public int ID { get; set; }
public string Title { get; set; }//共享标题
public RFile File { get; set; }//共享的文件
public int fileID { get; set; }
public string Description { get; set; } //文件的描述
public User Container { get; set; }//文件拥有者
}
显示文件列表方法:
 public ViewResult ShareList()
{
return View(_fsRep.FileShares);
}

显示文件列表的视图:
@model IEnumerable<Domain.Entity.FileShare>
@{
ViewBag.Title = "共享列表";
}

<h2>文件列表</h2>
@foreach (Domain.Entity.FileShare m in Model)
{
@m.fileID//显示正常
//<p>@Html.ActionLink(m.Title,"Download",new {id = m.File.ID})</p>报错:未将对象引用实例
<p>描述:@m.Description</p>//显示正常。
//<p>发布者:@m.Container.UserName</p>报错:未将对象引用实例
}




插入的数据,确实存在数据库里了,取出FireShare对像也是正常的,但是File就是空的。这是什么原因了呢?我哪错了?求教一下。


卖甜蛋的超人的主页 卖甜蛋的超人 | 初学一级 | 园豆:39
提问于:2012-03-24 11:20
< >
分享
最佳答案
0

在取出FireShare的LINQ查询中是否Include了File?

收获园豆:20
dudu | 高人七级 |园豆:30925 | 2012-03-24 17:21

难道LinQ语句写错。。

卖甜蛋的超人 | 园豆:39 (初学一级) | 2012-03-24 17:23

@卖甜蛋的超人: 上LINQ

dudu | 园豆:30925 (高人七级) | 2012-03-24 17:24

@dudu: 不过这时候我这样写的时候就出现问题了。

return context.FileShares.Include("File").Include("Container").Include("Comments"); 

最后那个comments那里出问题。报错是:

问题签名:
  问题事件名称:    APPCRASH
  应用程序名:    WebDev.WebServer40.exe
  应用程序版本:    10.0.40219.1
  应用程序时间戳:    4d5f345a
  故障模块名称:    clr.dll
  故障模块版本:    4.0.30319.488
  故障模块时间戳:    4e17f31c
  异常代码:    c00000fd
  异常偏移:    00001aa6
  OS 版本:    6.1.7601.2.1.0.256.1
  区域设置 ID:    2052
  其他信息 1:    4553


  其他信息 2:    4553f0496d1860d5d94b3835a45b057c
  其他信息 3:    8ede
  其他信息 4:    8ede8f355bc45e86ef3f1d542a84b7fe

联机阅读隐私声明:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
  C:\Windows\system32\zh-CN\erofflps.txt
这样怎么样解决撒?

真心不懂。

卖甜蛋的超人 | 园豆:39 (初学一级) | 2012-03-25 19:20
其他回答(1)
0

類上 加  [Serializable],試一下。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-24 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册