实体框架 - 将数据库字段映射到uint

时间:2015-04-13 07:29:05

标签: c# .net entity-framework entity-framework-5

我正在使用DB-first实体框架应用程序。使用SQL Server作为DB,它没有未签名的列类型。是否可以从DB生成模型以使EF将字段映射到uint而不是int? (这些表基于外部结构,大多数字段都是uint。现在,我必须将所有字段都转换为int才能使用EF。)

我认为这与How to use unsigned int / long types with Entity Framework?不同,因为我在谈论在数据库优先环境中的映射,这与他们在那里做的不同。另外,如果可能的话,我试图避免施法。

2 个答案:

答案 0 :(得分:2)

EF不支持无符号类型。

来源:https://entityframework.codeplex.com/workitem/1489

从我所知道的那里,它不会成为明确施法的替代品。 C#严格执行无符号转换,当涉及负值或大值时,类型之间的转换可能会丢失信息。我唯一的建议是实现一个帮助器或扩展方法来执行内置错误检查的转换。

答案 1 :(得分:0)

How to use unsigned int / long types with Entity Framework?

检查一下。 基本上它在数据库中使用签名数据类型,但使用未经检查的转换将C#中的signed转换为unsiged。