기존 DB 응용 프로그램 (SQL 서버) 위에 .NET 웹 응용 프로그램을 작성하고 있습니다. 원래 개발자는 money
또는 decimal
대신 float
열에 금액을 저장했습니다. 내 POCO 내부에서 Decimal
을 사용하고 싶습니다 (특히 내가 값을 얻은 후에 추가 연산을 수행 할 것이기 때문에).10 진수 속성을 float db 열에 매핑 할 수 있습니까?
불행히도 DB 스키마를 접할 수 없습니다. 내 POCO에서 여전히 Decimal
을 사용하고 EF에게 "괜찮습니다. 나는 decimal
과 float
이 맞지 않는다는 것을 알고 있습니다. 나는 그다지 좋아하지 않습니다. 최선을 다하십시오." 특별한 구성으로
modelBuilder.Entity(Of myPocoType).Property(Function(x) x.MoneyProperty).HasColumnType("float")
를 사용하여 시도
The specified cast from a materialized 'System.Double' type to the 'System.Decimal' type is not valid.
을, 그러나 그것은 나에게이 오류 가져옵니다
이 같은Schema specified is not valid. Errors:
(195,6) : error 0063: Precision facet isn't allowed for properties of type float.
(195,6) : error 0063: Scale facet isn't allowed for properties of type float.
[Entity Framework 코드 첫 번째 맵은 C#에서 부동 소수점 수는 SQL Server에서 소수점 이하 여야 함] (http://stackoverflow.com/questions/14221227/can-entity-framework-code-first-map-floats- in-c-sharp-to-decimals-in-sql-serv) –
보기를 사용하여 추악한 해결 방법을 피하는 방법은 무엇입니까? – OzrenTkalcecKrznaric
@ OzrenTkalčecKrznarić DB에 대한 읽기 전용 권한이 있습니다. 거기에 많은 데이터가 있고 내 변경 사항이 "실수로"아무 것도 부러지지 않게하려는 것입니다. –