ASP MVC 应用程序。在控制器中,我从数据库中获取 2 行,比较它们并根据需要添加新数据。每个的模型如下所示:
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public List<PersonAlias> AliasList { get; set; }
public List<Identification> IDList { get; set; }
当我到达列表时,我遇到了麻烦。我擅长循环和比较,但在添加时遇到了麻烦。这是我所拥有的:
var newRecord =
(from p in db.Person
where p.ApplicantID.Equals(ApplicantId)
select p).First();
// Get the existing applicant record
var existingRecord =
(from e in e_db.PersonAttributes
where e.PersonID.Equals(PersonId)
select e).First();
foreach (var newAlias in newRecord.PersonAlias)
{
matchesAny = true;
List<PersonAlia> tempAlias = new List<PersonAlia>();
if ( existingRecord.PersonAlias != null)
{
foreach (var oldAlias in existingRecord.PersonAlias)
{
if ((oldAlias.FirstName != newAlias.FirstNameAlias) || (oldAlias.LastName != newAlias.LastNameAlias))
{
matchesAny = false;
}
if (!matchesAny)
{
tempAlias.Add(new PersonAlia
{
FirstName = newAlias.FirstNameAlias,
MiddleName = newAlias.MiddleNameAlias,
LastName = newAlias.LastNameAlias,
CreatedBy = User.Identity.Name,
CreateDate = DateTime.Now,
ModifiedBy = User.Identity.Name,
ModifiedDate = DateTime.Now
});
}
} // End inner foreach
existingRecord.PersonAlias.Add(new PersonAlia
{
FirstName = tempAlias.
MiddleName = newAlias.MiddleNameAlias,
LastName = newAlias.LastNameAlias,
CreatedBy = User.Identity.Name,
CreateDate = DateTime.Now,
ModifiedBy = User.Identity.Name,
ModifiedDate = DateTime.Now
});
} // End outer Foreach
我正在尝试将项目添加到列表中的临时列表中,这看起来不错,但我无法弄清楚如何从临时列表中移动到将其添加到现有记录中。完成后,我将添加 db.savechanges();
我想我混合了几种方法(模型、linq、EF),所以如果有人可以建议一种方法并指向一个好的教程,那就太好了。谢谢你。