Pergunta

Se você tem um flutuador no MSSQLServer, para o que você mapeia isso no .NET?

Você pode convertê -lo para dobrar ou perderá números?

Foi útil?

Solução

Servidor SQL float e C#/VB double tem a mesma representação. Este é o mapeamento correto. O que você não quer fazer é mapear o servidor SQL float para C#/VB float como isso pode envolver uma perda de precisão. servidor SQL real Mapas em C#/VB float.

Float t-sql e definições de tipo real podem ser encontradas em Msdn. C# A definição dupla pode ser encontrada em Msdn Além disso, como o flutuador pode definição.

Outras dicas

Verificação de saída:

No seu caso, o tipo nativo do SQL Server flutuador Mapas para SQL Server CLR Sqldouble e depois Dobro na rede

Atualização (maio de 2016):

Versão atualizada do documento MSDN: Mapeamento de dados de parâmetros CRL

C# possui um tipo de flutuação, mas será convertido para dobrar bem também.

A partir da minha lembrança, a maioria das ferramentas ORM mapeará para um tipo decimal, que não perderá precisão como um duplo ou flutuador.

Depende do tamanho do flutuador SQL. Para "flutuação" simples, o que é equivalente a flutuar (53), você precisa usar um duplo C#. Para flutuar (24) ou inferior, um flutuador C# será suficiente, ou um duplo também funcionaria.

O código automático gerado pelo Microsoft XSD converte SQL Float (Float padrão) em C# duplo.
Então você pode sugerir que não é um grande erro.
Até você trabalhar com flutuação com tamanho padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top