Я пытаюсь настроить структуру базы данных в приложении для Android, которое я разрабатываю.У меня проблема в том, что 3 объекта / модели наследуются от модели, как показано ниже.Когда я вставляю модель ShoppingItem с помощью sqliteconnection.inserttable (), он создает только 2 столбца этой модели, игнорируя свойства наследующих моделей.Это означает, что я не могу вставить Fruit в таблицу ShoppingItem, потому что она не содержит столбцы для хранения информации.Когда я пытаюсь вставить фрукт в таблицу shoppingItem, возникает исключение ограничения.Когда я сделал это вне разработки приложения, таблица также содержит столбец дискриминатора, в котором указано, что это за объект.Это возможно в базе данных Android?
public class ShoppingItem: Java.Lang.Object
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
[ManyToMany(typeof(ShoppingListItem))]
public List<ShoppingList> ShoppingLists { get; set; }
}
[Table("Fruits")]
public class Fruit : ShoppingItem
{
public int NumberOfTimesPicked { get; private set; }
public Fruit()
{
NumberOfTimesPicked = 0;
}
public void IncrementTimesPicked()
{
NumberOfTimesPicked++;
SQLiteConnection db = new SQLiteConnection(Database.DataStore.DBPATH);
db.Update(this);
}
}
[Table("Ingredients")]
public class Ingredient : ShoppingItem
{
public override string ToString()
{
return Name;
}
[ManyToMany(typeof(Recipe))]
public List<Meal> Meals { get; set; }
}
[Table("MiscItems")]
public class MiscItem : ShoppingItem
{
public string Category { get; set; }
}