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


  共享列表项
  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就是空的。这是什么原因了呢?我哪错了?求教一下。


守候你守候我
浏览 298回答 2
2回答

RISEBY

在取出FireShare的LINQ查询中是否Include了File?
打开App,查看更多内容
随时随地看视频慕课网APP