繁体   English   中英

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

[英]C# sqlite entity framework - map string type

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

大多数SQL数据库引擎(据我们所知,除SQLite以外的所有SQL数据库引擎)都使用静态的刚性类型。 对于静态类型,值的数据类型由其容器确定-值存储在其中的特定列。

SQLite使用更通用的动态类型系统。 在SQLite中,值的数据类型与值本身(而不是其容器)相关联。 SQLite的动态类型系统与其他数据库引擎的更常见的静态类型系统向后兼容,因为在静态类型的数据库上运行的SQL语句应在SQLite中以相同的方式运行。 但是,SQLite中的动态类型允许它执行传统的严格类型数据库中无法做到的事情。 SqlLite数据类型参考

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

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

下表显示了.Net SQLite默认类型映射。 在此处输入图片说明 有关更多信息,请参见.Net的实体框架数据类型映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM