c# - 将类添加到 ICollection 列表
问题描述
我有一个 C# 项目,用户可以在其中登录并创建板。用户类有一个 ICollection 用于列出特定用户制作的所有板,我试图弄清楚如何将该板添加到列表中。
这是两个类,用户类:
public class User
{
public int ID { get; set; }
public string Name { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string UserType { get; set; }
public DateTime LastLoginDate { get; set; }
public virtual ICollection<Board> Boards { get; set; }
public virtual ICollection<Post> Posts { get; set; }
这是 Board 类:
public class Board
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime DateCreated { get; set; }
public virtual ICollection<Post> Posts { get; set; }
目的是每个用户都有一个他们创建的所有已添加的板的列表,因此有必要在创建时将板添加到该列表中。这是可以添加板的网络表单:
public partial class AddBoard : System.Web.UI.Page
{
Board boardToAdd = new Board();
User user = new User();
Utility utility = new Utility();
static User loggedInUser;
protected void CreateButton_Click(object sender, EventArgs e)
{
string name = NameTextBox.Text;
loggedInUser = (User)Session["loggedInUser"];
string checkName = utility.CheckBoardName(name);
if (checkName == "OK")
{
boardToAdd.Name = name;
boardToAdd.DateCreated = DateTime.Now;
user.AddBoard(boardToAdd, loggedInUser);
boardToAdd.AddBoard(boardToAdd);
}
else
{
CreateLabel.Text = checkName;
}
}
这是我一直试图用来将板添加到列表的用户类中的方法:
public User AddBoard(Board board, User user)
{
BulletinContext _context = new BulletinContext();
user.Boards.Add(board);
return null;
}
}
为了增加参考,这是我为了添加板而调用的板类中的方法:
public bool AddBoard(Board board)
{
BulletinContext _context = new BulletinContext();
try
{
_context.Boards.Add(board);
_context.SaveChanges();
return true;
}
catch
{
return false;
}
}
}
解决方案
我已经设法解决了这个问题。我刚刚在我的方法中添加了代码来调用正在添加板的用户和要添加的板。现在看起来像这样:
public User AddBoard(Board board, User user)
{
BulletinContext _context = new BulletinContext();
User _user = _context.Users.Find(user.ID);
Board _board = _context.Boards.Find(board.ID);
_user.Boards.Add(_board);
_context.SaveChanges();
return null;
}
有必要从将板添加到 Board 类的其他方法调用此方法,以便之后发生。
推荐阅读
- c# - 可替换/可交换数据层的通用接口
- javascript - 脚本化使用
我尝试使用 JavaScript 在 html 中动态创建 svg 路径元素。
我想在<defs>
稍后可以在<use>
xlink:href 元素中重用的元素中设置路径。
创建后(在- r - r - 为什么 rlm(MASS 包)返回一个没有截距的模型?
- c# - Web API 2 Json 输出被截断
- javascript - Promise 完成后调用类的方法
- java - Softlayer - 已开机的服务器列表
- asp.net-core - 如何使用 .NET Core 在 Web API 中使用 FluentValidation 执行异步 ModelState 验证
- search - 示例 33078:如何在库中的任何 SAS® 数据集中的任何变量中查找特定值
- python-3.x - 子类化消息以添加其他行为
- html - 是否可以将 Internet Explorer 滚动条箭头居中?