gpt4 book ai didi

c# - 模型中的 float 类型字段同时在数据库中自动创建为真实类型?

转载 作者:行者123 更新时间:2023-11-30 18:34:00 25 4
gpt4 key购买 nike

我正在使用 mvc4。我有一个模型。在该模型中,我创建了一个数据类型为 Float 的名为“AllFuels”的字段。但是当在数据库中自动创建表时,字段“AllFuels”的数据类型是真实的。我正在使用模型优先方法。任何人都可以知道发生这种情况的原因吗?

public float AllFuels { get; set; }

但是表中的这个字段创建为真实数据类型。

最佳答案

... why this is happening?

嗯,这很简单 - 因为这是编程到 EF 中的映射。

重要吗?

请看以下内容:

因此两者的“近似范围 相同,存储量也相同:它们都是 32 位浮点二进制小数点类型。令人恼火的是 .NET float 并没有在 BOL reference for data type conversion 中具体提及。 ,这使得快速查找变得困难

此外,Edm.Float 在 Edm 数据类型 ( MSDN: Conceptual Model Types (CSDL) ) 中列为具有 7 位精度的 float ,因此与 .NET 中的 float 和 real 相匹配SQL 服务器( CSDL 是描述实体、关系等的 XML 语言,是 used by EF )。

那我该怎么办呢?

Microsoft 如何评价 ADO.NET 中的 float ?如果您阅读:MSDN - Data Type Mappings in ADO.NET (Floating-Point Numbers)他们说“测试”。所以这样做,如果这个精度对你来说还不够,那么你的 .NET 类型需要是 double 而不是,它应该成为 SQL Server 中更高精度的类型(它将转换为 float(53),我相信)


我无法快速找到 IEEE 引用资料,所以我会指向您 wikipedia for the definition of "approximate range" .

编辑 大师 Lasse V. Karlsen要求我限定此声明是完全正确的:Single is equivalent to float,我表达不好的一点是,您必须知道寻找 Single 而不是 float 才能在引用中找到信息。

关于c# - 模型中的 float 类型字段同时在数据库中自动创建为真实类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com