Xamarin 设置默认布尔值

Xamarin Setting default Boolean value

我正在使用 sqlite-net-pcl 并向数据库 DTO 添加一个新列,我想将默认值设置为 true,然后一旦我更新了数据,它就会更新为正确的价值。但是默认值在 xamarin 中对我不起作用。

is there any other way to do this?

[NotNull]
        public boolean Istaxable  { get; set; } = true;

这会阻止我进行更新。

   [NotNull, Default(value: true)]

错误默认值未知

DTO

public class DtoTaxableLink
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [NotNull]
    public bool IsTaxable  { get; set; } = true;
}  

服务

 await App.LocalDB.InsertTaxableLinksAsync(BuildDbTaxableLinkItem(    public Task<int> InsertTaxableLinksAsync(List<DtoTaxableLink> taxableLinks)
ListResponse.Data));

本地数据库

public Task<int> InsertTaxableLinksAsync(List<DtoTaxableLink> taxableLinks)
{
return database.InsertAllAsync(taxableLinks, true);
}

帮手

 private static List<DtoTaxableLink> BuildDbTaxableLinkItem(List<TaxablelineLink> taxableLinks)
            {
                List<DtoTaxableLink> dtoTaxableLink= new List<DtoTaxableLink>();
    foreach (var taxink in taxableLinks)
                {
                    DtoTaxableLink dtoTaxableLink= new DtoTaxableLink();
                    dtoTaxableLink.IsTaxable  = taxableLinks.IsTaxable  ;              
                    dtoTaxableLink.Add(dtoTaxableLink);
                }
                return dtoTaxableLink;
            }

根据您的描述,您希望在使用 sqlite-net-pcl 并向数据库添加新列时将默认值设置为 true。

您可以通过 属性 本身来完成,字段默认值不会改变,直到另一个值变为 set.Please 看看下面的代码:

 public class User
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    public string userName { get; set; }
    public string password { get; set; }

    private bool _sel = true;
    [NotNull]
    public bool Selected
    {
        get { return _sel; }
        set { _sel = value; }
    }
}

现在您可以看到我设置了 Selected 属性 默认值为 True,然后您可以根据需要更新此值。