问题
I used to open my SQLiteConnection
in my shared project as following:
var conn = new SQLiteConnection("MyDb.db3");
The constructor has been changed to the following signature:
public SQLiteConnection(ISQLitePlatform sqlitePlatform, string databasePath, bool storeDateTimeAsTicks = true, IBlobSerializer serializer = null, IDictionary<string, TableMapping> tableMappings = null, IDictionary<Type, string> extraTypeMappings = null, IContractResolver resolver = null);
public SQLiteConnection(ISQLitePlatform sqlitePlatform, string databasePath, SQLiteOpenFlags openFlags, bool storeDateTimeAsTicks = true, IBlobSerializer serializer = null, IDictionary<string, TableMapping> tableMappings = null, IDictionary<Type, string> extraTypeMappings = null, IContractResolver resolver = null);
I was not able to find any examples/documentation on how to implement this in my shared library.
回答1:
Quite easy once you found it. The namespace SQLite.Net.Platform
containt the implementation for the ISQLitePlatform
interface.
I had to implement this in de platform specific libraries instead of the shared one.
new SQLiteConnection(new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid(), Path.Combine(path, db));
来源:https://stackoverflow.com/questions/30432644/upgrading-sqlite-net-to-sqlite-net-create-sqliteconnection