【发布时间】:2016-09-02 10:51:26
【问题描述】:
在我的项目中,我有很多列表表(都是完全相同的结构),其中存储了所有下拉选项。对于每个表,我都有一个历史表来跟踪所有更改。
我想创建用于在主表中插入或更新记录并在历史表中添加新记录的通用函数。
在 SQLite 中,我使用类似
的东西 public int SaveItem<T>(T item) where T : IMyEntity {
lock (locker) {
if (item.Id != 0) {
database.Update(item);
return item.Id;
}
else {
return database.Insert(item);
}
}
}
我不能用 EF 做到这一点。数据库是 MySQL。
【问题讨论】:
-
当然你不能将相同的类型映射到不同的表——因为你总是映射类型,EF 无法确定要使用哪个表。如果你想说,那就是 ORM 的问题——他们必须知道哪个类型映射到哪个表。
标签: c# mysql entity-framework