【发布时间】:2016-12-16 19:09:45
【问题描述】:
我几乎有 2 个模型 - 一个公告,有些人可以发布公告和一个看到的模型,它决定是否有人看到了公告。她是模特:
宣布:
public class Announcement
{
public int AnnouncementId { get; set; }
public string AnnouncementContent { get; set; }
public virtual ApplicationUser User { get; set; }
}
看到了:
public class Seen
{
public int SeenId { get; set; }
public virtual Announcement Announcement { get; set; }
public virtual ApplicationUser User { get; set; }
}
在我的 AnnouncementController.Index 中,我有这段代码,如果您查看此页面,请将每个公告标记为已看到但在“新看到”部分出现错误:
public ActionResult Index()
{
string currentUserId = User.Identity.GetUserId();
var currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
if(db.Announcements != null)
{
foreach (Announcement anoun in db.Announcements)
{
new Seen
{
User = db.Users.Add(currentUser),
Announcement = db.Announcements.FirstOrDefault(x => x.AnnouncementId == anoun.AnnouncementId),
};
}
}
return View(db.Announcements.ToList());
}
已经有一个打开的 DataReader 与此命令关联,必须先关闭。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public DbSet<Announcement> Announcements { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Seen> Seens { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
【问题讨论】:
-
当您遇到错误并询问有关该错误的问题时,您需要包含该错误。在这种情况下,它称为Exception(这是错误在 .net 中的表现方式)。包括 Message、Type、StackTrace,并在 InnerExceptions 中一直递归地重复此操作。使用问题上的编辑链接包含该详细信息,不要将其作为评论包含在内。另请阅读How do I ask a Good Question。
标签: c# asp.net asp.net-mvc model-view-controller