Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Xamarin 第二次UpdateWithChildren()后,ForeignKey变为NULL_Xamarin_Xamarin.forms_Portable Class Library_Sqlite Net_Sqlite Net Extensions - Fatal编程技术网

Xamarin 第二次UpdateWithChildren()后,ForeignKey变为NULL

Xamarin 第二次UpdateWithChildren()后,ForeignKey变为NULL,xamarin,xamarin.forms,portable-class-library,sqlite-net,sqlite-net-extensions,Xamarin,Xamarin.forms,Portable Class Library,Sqlite Net,Sqlite Net Extensions,我正在为XAMARIN表单项目(PCL)使用SQLiteNetExtension。我面临的问题是,在多对一关系的多个端点中定义的多对一关系的ForeignKey在第二次\u connectionDB.UpdateWithChildren()之后被Null覆盖: 第一次插入正确 第二次插入(相同值):插入成功,但ForeignKey变为NULL 第三个数据处理:数据库包含4行,其中2个外键为空,另外2个外键为正确 第四个数据处理:数据库中的4行具有空FK (我所说的数据处理是指每次单击按钮都执

我正在为XAMARIN表单项目(PCL)使用SQLiteNetExtension。我面临的问题是,在多对一关系的多个端点中定义的多对一关系的ForeignKey在第二次\u connectionDB.UpdateWithChildren()之后被Null覆盖:

  • 第一次插入正确
  • 第二次插入(相同值):插入成功,但ForeignKey变为NULL
  • 第三个数据处理:数据库包含4行,其中2个外键为空,另外2个外键为正确
  • 第四个数据处理:数据库中的4行具有空FK
(我所说的数据处理是指每次单击按钮都执行相同的代码..示例)

让我们来看看代码:

公共类总线
{
[PrimaryKey,NotNull,Unique]//它不是自动递增的,因为它是唯一的
公共字符串Id{get;set;}
公共字符串编号{get;set;}
[一家公司]
公共列表乘客{get;set;}
}
公共阶层人士
{
[主密钥,非空,唯一]
公共int Id{get;set;}
公共字符串名称{get;set;}
[外键(总线类型))]
公共字符串BusId{get;set;}
[许多人]
公共总线{get;set;}
}
现在是数据库和数据处理

var Persons=新列表();
总线B10=新总线{Id=“15458 ghf 14”板编号=“122541 tn 154”}
_连接数据库插入位置(B10);
人员P1=新人员{Id=15547;姓名=Robert};
_连接数据库插入位置(P1);
新增(P1);
个人P2=新订单{Id=25547;姓名=Katherina};
_连接数据库插入位置(P2);
新增(P2);
B10.乘客=人;
_ConnectionDB.UpdateWithChildren(B10);