1

这是一个简单的应用程序,但我对 ASP.NET MVC 有点陌生,所以我在思考如何完成这个问题时遇到了一些麻烦,因为

我有两个课程:

public class BugAssignment
{
    public int BugAssignmentID { get; set; }
    public int BugNumber { get; set; }
    public int UserID { get; set; }
    public virtual User User { get; set; }
}

public class BugAssignmentList
{
    public int BugAssignmentListID { get; set; }
    public string Name { get; set; }
    public List<BugAssignment> BugAssignments { get; set; }
}

我想要做的是填充给定用户输入的BugNumbers 分隔字符串的BugAssignments 列表(即208,576,403)。我猜它会爆炸字符串,循环并创建 BugAssignment 对象,存储到列表中并设置 BugAssignments 属性。我怎么能做到这一点?

另外,我使用 Entity Framework Code-first 和 SQL server 2008 作为我的数据库引擎。

4

2 回答 2

2

如果您坚持将字符串转换为字符串数组...

在 C# 中使用String.Split()将逗号分隔的字符串拆分为字符串对象数组非常简单。

string[] StringArray = String.Split(BugAssignments , ",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

从那里,应该可以直接循环遍历数组并完成剩余的工作。如果您遇到其他问题,请告诉我们。

于 2012-12-04T22:37:19.860 回答
1

使用 string.Split 和 Linq Select,你可以这样写:

string BugNumbers = "208,576,403";
int currentUserID = 0;

BugAssignmentList list = new BugAssignmentList
{
    BugAssignments = BugNumbers.Split(',')

        // convert list of numbers to list of BugAssignment objects
        .Select(num => new BugAssignment 
        { 
            BugNumber = int.Parse(num.Trim()),
            UserID = currentUserID 
        })
        .ToList(),
    Name = "assignment list name"
};
于 2012-12-04T22:39:25.077 回答