Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通用Windows应用程序10-EF7 SQLite一对多关系_C#_Entity Framework_Sqlite_Win Universal App - Fatal编程技术网

C# 通用Windows应用程序10-EF7 SQLite一对多关系

C# 通用Windows应用程序10-EF7 SQLite一对多关系,c#,entity-framework,sqlite,win-universal-app,C#,Entity Framework,Sqlite,Win Universal App,我是开发UWA的新手。我正在尝试开发一个在本地数据库中存储信息的应用程序 我可以毫无问题地存储和获取信息,但我找不到如何处理人际关系 我有: public class ToDoItem { public int ToDoItemId { get; set; } public int ToDoItemCategoryId { get; set; } public virtual ToDoItemCatego

我是开发UWA的新手。我正在尝试开发一个在本地数据库中存储信息的应用程序

我可以毫无问题地存储和获取信息,但我找不到如何处理人际关系

我有:

public class ToDoItem
{
    public int ToDoItemId
    {
        get; set;
    }

    public int ToDoItemCategoryId
    {
        get; set;
    }

    public virtual ToDoItemCategory ToDoItemCategory
    {
        get; set;
    }

    [Required]
    public string Description
    {
        get; set;
    }
}
以及:

但是ToDoItems不会保存到ToDoItemCategory ToDoItems列表中。另外,ToDoItemId是用负ID自动生成的,我不明白为什么

我也尝试过类似的方法:

    using (var db = new DatabaseContext())
    {
                var cat = db.ToDoItemCategories.Single(m => m.ToDoItemCategoryId == SelectedCategory.ToDoItemCategoryId);
                ToDoItem model = new ToDoItem() { Description = description, ToDoItemCategory = cat };
                db.ToDoItems.Add(model);
                cat.ToDoItems.Add(model);
                db.SaveChanges();
    }

但是没有运气。我做错了什么

经过多次测试和搜索,我找到了这个问题的解决方案

 Categories = Context.ToDoItemCategories.Where(predicate).Include(m => m.ToDoItems).ToList();

显然,导航属性只在Include之后加载。这样做一切都很好

你找到这个了吗:?谢谢,我一直在找,没有找到那个。我会检查,看看它是否解决了我的问题。我已经检查了,我正在做它所说的一切,但ToDoItems似乎没有保存在类别中。这也可能意味着,它在uwp上还不起作用。EF仍在预览中
    using (var db = new DatabaseContext())
    {
                var cat = db.ToDoItemCategories.Single(m => m.ToDoItemCategoryId == SelectedCategory.ToDoItemCategoryId);
                ToDoItem model = new ToDoItem() { Description = description, ToDoItemCategory = cat };
                db.ToDoItems.Add(model);
                cat.ToDoItems.Add(model);
                db.SaveChanges();
    }
 Categories = Context.ToDoItemCategories.Where(predicate).Include(m => m.ToDoItems).ToList();