У меня есть приложение, которое поддерживает две базы данных. MS SQL и SQLite. Я обновляю базовый доступ к данным и моделям и использую RepoDb. Я бы использовал ту же модель для SQL lite и MS SQL. В зависимости от строки подключения я создаю свой объект подключения (ie. SQLiteConnection или SqlConnection). Я столкнулся с проблемой одного из моих энти. Проблема с типом столбца.
public class PLANT
{
public string OP_ID {get;set;}
}
The OP_Id in the sqlserver maps to a uniqueidentifier and in sqlite to nvarchar. Wher I try to do
It works fine with SQLiteConnection .The problem I face is when I use SqlConnection
var plant = connection.Query<PLANT>(e => e.PL_ID == "3FFA25B5-4DF5-4216-846C-2C9F58B7DD90").FirstOrDefault();
I get error
> “No coercion operator is defined between types 'System.Guid' and 'System.String “
I have tried using the **IPropertyHandler<Guid, string>** on the OP_ID
, It works for SqlConnection but fails for SQLiteConnection.
Is there a way so that I can use the same model for both connections?
I can also use some other ORM which supports this scenario. So please feel free to recommend