c# - EF5:MySQL 浮点值转换为实体单一属性 - 逗号丢失
问题描述
使用带有 EF5 的 DatabaseFirst 方法,float
mySQL 中的一个字段被转换Single
为DatabaseModel
. 逗号信息有时似乎完全丢失,例如:
- 1 (mySQL) -> 1 (实体)
- 1,5 (mySQL) -> 15 (实体)
- 0,2 (mySQL) -> 2E+08 (实体)
在我的数据库中,有item
由tool
's 和某些productiondata
's 产生的 's。Therfor eachtool
有一个集合productiondata
(1 到多个)。每个item
人都有一个集合productiondata
(1到很多)。在我的代码中,有一个通用函数可以List<entity>
通过预先加载将每个数据库表加载到一个中。
List<productiondata>
没关系。
List<tool>
包括tool.productiondata
也可以的收藏。
List<item>
包括item.productiondata
包含损坏的浮点值的集合。我看不出为什么它可以工作两次,一次不行,因为所有实体都由下面的相同函数加载...
public void loadFromDatabase<TEntity>(ref List<TEntity> lst, List<string> lstCollectionNames) where TEntity : class
{
using (var ctx = new techdbEntities1())
{
ctx.Configuration.LazyLoadingEnabled = false;
IQueryable<TEntity> dbSet = ctx.Set<TEntity>();
if (dbSet != null)
{
foreach (var collectionName in lstCollectionNames)
dbSet = dbSet.Include(collectionName); // 'Eager Loading'
lst = dbSet.ToList<TEntity>();
foreach (TEntity e in lst)
ctx.Entry(e).State = EntityState.Unchanged; // DBEntityEntry.State
foreach (TEntity e in lst)
e.GetType().GetProperty("State").SetValue(e, StateEnum.UnModified); // TEntity.State
}
}
}
目前,我可以从而不是productiondata
从 中获取项目的,这从表面上解决了问题。但我仍然对损坏的浮点字段的原因非常感兴趣。List<productiondata>
item.productiondata
List<item>
这是sql:
CONSTRAINT `fk_productiondata_item1`
FOREIGN KEY (`item_internalNr`)
REFERENCES `techdb`.`item` (`internalNr`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_productiondata_tool1`
FOREIGN KEY (`tool_basetool_internalNr` , `tool_number`)
REFERENCES `techdb`.`tool` (`basetool_internalNr` , `number`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
解决方案
推荐阅读
- python - Python Turtle 在不同位置标记相同的形状/图像
- vb.net - 将数据从数据库拆分到 3 个组合框
- python - 如何将 python 脚本(使用 Pandas、numpy 和各种其他第三方库)集成到 C# 应用程序中?
- php - PHP & AJAX | 如何使用 PHP MVC 向控制器发送 AJAX 发布请求?
- intellij-idea - “自从 Intellij 更新以来,Kubernetes 上的开发停止工作”
- python - 使用python执行变量的相关性
- matrix - sympy 中的符号矩阵,打印跟踪并生成 C 代码
- python - 自定义类型的python列表构造函数 - 长度被调用两次
- excel - 如何扩展此宏的条件以查找 2 个字符串值?
- dynamics-crm - 检索实体类型支持的消息