共享列表项
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就是空的。这是什么原因了呢?我哪错了?求教一下。
在取出FireShare的LINQ查询中是否Include了File?
难道LinQ语句写错。。
@卖甜蛋的超人: 上LINQ
@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
这样怎么样解决撒?
真心不懂。
類上 加 [Serializable],試一下。