如何使用 xamarin mvvm

问题描述

工具:我使用 Xamarin 表单 MVVM 和 sqlite-Net-pcl

错误无法从“System.Type”转换为“string”

如何为主键和外键设置不同名称的基本外键?我在线收到错误

[ForeignKey(typeof(ProductModel))]

ProductModel 类

*class ProductModel
{
    [PrimaryKey,AutoIncrement]
    public int ProductId { get; set; }
    public string ProductName { get; set; }
    public string ProductDescription { get; set; }
    public string ProductURL { get; set; }
}

订单模型类

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using sqlite;

class OrderModel
{
    [PrimaryKey,AutoIncrement]
    public int OrderId { get; set; }
    
    [ForeignKey(typeof(ProductModel))]
    public int ProdcutId_FK { get; set; }
    
    public int OrderQty { get; set; }
}*

解决方法

试试这个


class OrderModel
{
    [PrimaryKey,AutoIncrement]
    public int OrderId { get; set; }
    
    public int OrderQty { get; set; }
   
    public int ProductId { get; set; }

    [ForeignKey(nameof(ProductId ))]
    [InverseProperty("Orders")]
    public ProductModel Product { get; set; }
  
}

class ProductModel
{
    [PrimaryKey,AutoIncrement]
    public int ProductId { get; set; }
    public string ProductName { get; set; }
    public string ProductDescription { get; set; }
    public string ProductURL { get; set; }

    [InverseProperty(nameof(OrderModel.Product))]
    public virtual ICollection<OrderModel> Orders{ get; set; }
}