Xamarin.Forms SQLite CreateTableAsync()返回类型用法

Pax*_*rce 1 sqlite xamarin.ios xamarin.android xamarin xamarin.forms

在我调用CreateTableAsync方法之后,我正试图找出我的桌子下发生了什么.
我正在使用sqlite-net-pcl NuGet(用于Xamarin.Forms项目).

public async Task<int> CreatePartnersTableAsync()
{
    var tablesCreated = await _efContext.CreateTableAsync<Partner>();

    var result = tablesCreated.Results[typeof(Partner)];

    return result;
}
Run Code Online (Sandbox Code Playgroud)

如果不存在,此代码应创建新的Partner表.如果它确实存在,它应该将连接挂钩到它.如果我错了,请纠正我.

现在问我的问题:

返回的整数是什么意思?
它可以是1或0.

0表示表成功创建吗?
...或者它是否意味着事先存在表并且连接未成功附加到该表

1表示表是否成功创建?
...或者是否意味着事先将表格存在并且连接成功附加到该表格

谢谢.

Sha*_*raj 5

假设:由于没有指定,我假设你使用的是SQLite-net

这是一个已知的错误,已在最新版本中修复.快速查看此功能的拉取请求将会澄清.

使用最新版本,您的代码应返回CreateTableResult枚举 - 这应该适当地指示表是否已成功创建.

编辑1

看起来此功能尚未发布.您必须等待下一个稳定版本(> 1.4.118),或使用测试版1.5.xxx-beta.

此时,没有错误修复/功能,返回值无效.

编辑2

只是为了澄清,即使有更新,它也会告诉你表格是否已经存在.有一个微妙的区别.如果在创建/迁移期间遇到错误,我会期望抛出异常.