我有一个支持两个数据库的应用程序。MSSQL 和 SQLite。我正在改进底层数据访问和模型并使用 RepoDb。我会为 SQLite 和 MSSQL 使用相同的模型。根据连接字符串,我创建了我的连接对象(即 SQLiteConnection 或 SqlConnection)。我的一个实体遇到问题。问题在于列类型。
public class PLANT
{
public string OP_ID {get;set;}
}
SQL Server 中的OP_ID映射到唯一标识符,而 SQLite 中映射到 nvarchar。在我尝试这样做的地方,它适用于 SQLiteConnection。我面临的问题是当我使用 SqlConnection
var plant = connection.Query<PLANT>(e => e.PL_ID == "3FFA25B5-4DF5-4216-846C-2C9F58B7DD90").FirstOrDefault();
我收到错误
“'System.Guid' 和 'System.String' 类型之间没有定义强制运算符”</p>
我试过IPropertyHandler<Guid, string>在OP_ID;上使用 它适用于 SqlConnection,但适用于 SQLiteConnection。
有没有办法可以为两个连接使用相同的模型?