C#sqlite实体框架-映射字符串类型

时间:2018-08-10 10:18:22

标签: c# entity-framework sqlite

在表的SQLite中,我有列:此列的标题和类型是字符串。 现在,我想将此表映射到C#中的实体框架。问题在于该列的类型字符串,因为我无法将其映射到C#中的字符串类型。 当我将SQLite字符串更改为VARCHAR时,它可以工作。但是如何在不更改列类型的情况下解决此问题?

1 个答案:

答案 0 :(得分:0)

  

大多数SQL数据库引擎(除   据我们所知,SQLite使用静态的,刚性的类型。带静电   类型,值的数据类型由其容器确定-   存储值的特定列。

     

SQLite使用更通用的动态类型系统。在SQLite中,   值的数据类型与值本身而不是与其值相关联   容器。 SQLite的动态类型系统向后兼容   与其他数据库引擎中更常见的静态类型系统   在静态类型的数据库上工作的SQL语句的意义   在SQLite中应该以相同的方式工作。但是,动态输入   SQLite允许它做传统上不可能的事情   严格类型的数据库。   SqlLite Datatypes Reference

根据文档,System.String映射到SQLite中的TEXT,因此您不能对SQLite使用字符串数据类型。

TEXT :该值为文本字符串,使用数据库编码(UTF-8,UTF-16BE或UTF-16LE)存储。

这是一张显示.Net SQLite默认类型映射的表。 enter image description here 有关更多信息,请参见 Entity Framework Data Types Mapping with .Net