Entity framework 首先使用EF代码生成具有特殊SQL数据类型的列的表
我想知道在通过代码优先生成数据库时,是否可能(通过Fluent Api或数据注释)将属性映射为位、层次ID、sql_变量、系统名、表或时间戳。实际上,对我来说最重要的是sysname,我只是对其余的好奇。有人这样做过吗?感谢阅读,我会说不。没有任何CLR类型等同于sysname SQL类型 我还尝试了Entity framework 首先使用EF代码生成具有特殊SQL数据类型的列的表,entity-framework,data-annotations,fluent-interface,Entity Framework,Data Annotations,Fluent Interface,我想知道在通过代码优先生成数据库时,是否可能(通过Fluent Api或数据注释)将属性映射为位、层次ID、sql_变量、系统名、表或时间戳。实际上,对我来说最重要的是sysname,我只是对其余的好奇。有人这样做过吗?感谢阅读,我会说不。没有任何CLR类型等同于sysname SQL类型 我还尝试了.HasColumnType(“sysname”),但没有成功,因为非原语类型名缺少命名空间。但由于CLR中没有关于sysname的内容,因此我没有提供名称空间 表单中可以看到sysname是nva
.HasColumnType(“sysname”)
,但没有成功,因为非原语类型名缺少命名空间。但由于CLR中没有关于sysname的内容,因此我没有提供名称空间
表单中可以看到sysname是nvarchar(128)notnull
希望这有助于阅读我会说不。没有CLR类型等同于sysname SQL类型
我还尝试了.HasColumnType(“sysname”)
,但没有成功,因为非原语类型名缺少命名空间。但由于CLR中没有关于sysname的内容,因此我没有提供名称空间
表单中可以看到sysname是nvarchar(128)notnull
希望这有帮助我只是不好意思地重复了3年前的经验方法 我得到的数据类型可以通过
从sys.systypes中选择名称放入表中:
bigint
二元的
一点
烧焦
日期
日期时间
日期时间2
日期时间偏移
十进制的
浮动
地理
几何学
等级的
形象
int
钱
固定长度
内文
数字的
nvarchar
真实的
smalldatetime
短整型
货币型
sql_变体
系统名
文本
时间
时间戳
锡
唯一标识符
可变长度
瓦尔查尔
xml
(请注意,sysname
在其中,但表
不在其中)
我用entity framework power tools(beta 3,EF 6.0.0 alpha-3)反向设计了一个包含这些类型的表,得到了以下结果:
public分部类AllType{
公共int Id{get;set;}
公共可空bigint{get;set;}
公共字节[]二进制{get;set;}
公共可空位{get;set;}
公共字符串@char{get;set;}
公共可空日期{get;set;}
公共可为空的日期时间{get;set;}
公共可为空的datetime2{get;set;}
公共可为空的datetimeoffset{get;set;}
公共可空@decimal{get;set;}
公共可空@float{get;set;}
public System.Data.Entity.Spatial.DbGeography{get;set;}
public System.Data.Entity.Spatial.DbGeometry{get;set;}
公共字节[]映像{get;set;}
公共可空@int{get;set;}
公共可空货币{get;set;}
公共字符串nchar{get;set;}
公共字符串ntext{get;set;}
公共可空数字{get;set;}
公共字符串nvarchar{get;set;}
公共可空实数{get;set;}
公共可空smalldatetime{get;set;}
公共可为空的smallint{get;set;}
公共可为空的smallmoney{get;set;}
公共字符串sysname{get;set;}
公共字符串文本{get;set;}
公共可空时间{get;set;}
公共字节[]时间戳{get;set;}
公共可空tinyint{get;set;}
公共可为空的唯一标识符{get;set;}
公共字节[]varbinary{get;set;}
公共字符串varchar{get;set;}
公共字符串xml{get;set;}}
您可以看到,目前不支持这些类型:
hierarchyid
sql_variant
当然还有表
,因为它首先不是一种列数据类型
好吧,这是补充tschmit007更聪明答案的愚蠢方法,因为我和你一样,只是好奇。我只是不好意思地重复了3年前的经验方法
我得到的数据类型可以通过从sys.systypes中选择名称放入表中:
bigint
二元的
一点
烧焦
日期
日期时间
日期时间2
日期时间偏移
十进制的
浮动
地理
几何学
等级的
形象
int
钱
固定长度
内文
数字的
nvarchar
真实的
smalldatetime
短整型
货币型
sql_变体
系统名
文本
时间
时间戳
锡
唯一标识符
可变长度
瓦尔查尔
xml
(请注意,sysname
在其中,但表
不在其中)
我用entity framework power tools(beta 3,EF 6.0.0 alpha-3)反向设计了一个包含这些类型的表,得到了以下结果:
public分部类AllType{
公共int Id{get;set;}
公共可空bigint{get;set;}
公共字节[]二进制{get;set;}
公共可空位{get;set;}
公共字符串@char{get;set;}
公共可空日期{get;set;}
公共可为空的日期时间{get;set;}
公共可为空的datetime2{get;set;}
公共可为空的datetimeoffset{get;set;}
公共可空@decimal{get;set;}
公共可空@float{get;set;}
public System.Data.Entity.Spatial.DbGeography{get;set;}
public System.Data.Entity.Spatial.DbGeometry{get;set;}
公共字节[]映像{get;set;}
公共可空@int{get;set;}
公共可空货币{get;set;}
公共字符串nchar{get;set;}
公共字符串ntext{get;set;}
公共可空数字{get;set;}
公共字符串nvarchar{get;set;}
公共可空实数{get;set;}
公共可空smalldatetime{get;set;}
公共可为空的smallint{get;set;}
公共可为空的smallmoney{get;set;}
公共字符串sysname{get;set;}
公共字符串文本{get;set;}
公共可空时间{get;set;}
公共字节[]时间戳{get;set;}
公共可空tinyint{get;set;}
公共可为空的唯一标识符{get;set;}
公共字节[]varbinary{get;set;}
公共字符串varchar{get;set;}
公共字符串xml{get;set;}}
您可以看到,目前不支持这些类型:
hierarchyid
sql_variant
当然还有表
,因为它首先不是一种列数据类型<