0
とManyToOne関係を使用して認識されませんXamarinは、以下のパッケージでアプリをフォーム:ここ Package list一覧私はのCreateTableから、次の例外を取得SQLiteNetExtensions
は私のコードです:
// SAForm.cs
using System;
using System.Collections.Generic;
using SQLite;
using SQLiteNetExtensions.Attributes;
using Newtonsoft.Json;
namespace SurgeArrestor
{
public class SAForm
{
[PrimaryKey, AutoIncrement]
public long SAFormID { get; set; }
[JsonProperty(PropertyName = "_formID")]
public long FormID { get; set; }
[JsonProperty(PropertyName = "_formDate")]
public string FormDate { get; set; }
[JsonProperty(PropertyName = "_formNotes")]
public string FormNotes { get; set; }
[JsonProperty(PropertyName = "_formAnswers")]
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<SAAnswer> FormAnswers { get; set; }
}
}
// SAAnswer.cs
using System;
using SQLite;
using SQLiteNetExtensions.Attributes;
using Newtonsoft.Json;
namespace SurgeArrestor
{
[Table("SAAnswer")]
public class SAAnswer
{
public SAAnswer() { }
[PrimaryKey, AutoIncrement]
public long SAAnswerID { get; set; }
[JsonProperty(PropertyName = "_formAnswerID")]
public long FormAnswerID { get; set; }
[JsonProperty(PropertyName = "_formID")]
public long FormID { get; set; }
[JsonProperty(PropertyName = "_questionID")]
public long QuestionID { get; set; }
[JsonProperty(PropertyName = "_answer")]
public Boolean Answer { get; set; }
[ForeignKey(typeof(SAForm))]
[JsonIgnore]
public long SAFormID { get; set; }
}
}
// SAFormTable.cs
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using SQLite;
using SQLiteNetExtensions;
namespace SurgeArrestor
{
public class SAFormTable : SQLiteConnection
{
static object locker = new object();
public SAFormTable(string dbPath) : base(dbPath)
{
lock (locker)
{
CreateTable<SAForm>(); // throws exception
}
}
// MORE CODE
}
この私の最初のXamarin.Formsアプリです。私は、MVVMCross.Community.Plugin.Sqlite/SQLiteNetExtensions-MvvmCrossパッケージを使用してXamarinアプリケーションで作業し、これらのクラスをモデル化するために使用しました。
翻訳に何か忘れましたか?私の知る限り、ネット拡張パッケージは同じManyToOne実装のサポートを提供します。
スタックオーバーフローでGoogleを検索しても、具体的な結果は得られませんでした。
洞察力/ご提案ありがとうございます。