оо

Есть модели объектов которые хранятся в БД。

public class Person
{
[PrimaryKey, AutoIncrement,NotNull]
public int Id { get; set; }
[NotNull]
public string Fullname { get; set; }
[ForeignKey(typeof(Job))]
public int Idjob { get; set; }
[ManyToOne(CascadeOperations = CascadeOperation.CascadeRead)]

图片[1]-оо-唐朝资源网

public Job Jobb { get; set; } public string job { get { string s = App.HRDB.GetJobAsync().Result.ToArray().Where(p => p.Id == Idjob).FirstOrDefault().Name; if (s == "") return ""; return s; }

图片[2]-оо-唐朝资源网

} } public class Job { [PrimaryKey, AutoIncrement] public int Id { get; set; } public string Name { get; set; } public int CountPlace { get; set; } [OneToMany(CascadeOperations = CascadeOperation.CascadeDelete)] public List people { get; set; } }

При сохранении нового сотрудника по профессии я добавляю его в лист работы и вызываю метод сохранения работы:

private async void Save_Clicked(object sender, EventArgs e)
{
Person person = (Person)BindingContext;
if (person == null)
person = new Person() { Fullname = Fullname.Text };
Job job = jobs.Where(p => p.Name == CB.Items[CB.SelectedIndex]).FirstOrDefault();
person.Idjob = job.Id;

图片[3]-оо-唐朝资源网

person.Jobb = job; if (job.people == null) job.people = new List(); job.people.Add(person); if (!string.IsNullOrWhiteSpace(person.Fullname) && !string.IsNullOrWhiteSpace(person.Idjob.ToString())) { await App.HRDB.SavePersonAsync(person); await App.HRDB.SaveJobAsync(job); } await Shell.Current.GoToAsync("..");

图片[4]-оо-唐朝资源网

}

Метод сохранения:

public Task SaveJobAsync(Job job)
{
if (job.Id == 0)
return db.InsertAsync(job);
return db.UpdateAsync(job);
}

Но при последующей подгрузке работ, лист сотрудников профессии равен null

© 版权声明
THE END
喜欢就支持一下吧
点赞54赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容