Тип REPO Db, который работает как с сервером SQL, так и с SQLite - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть приложение, которое поддерживает две базы данных. 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...