我正在尝试编写一个函数,该函数将表名作为参数,并使用实体框架更新相关数据项
isActive
和 isUpdated
属性。
这是我尝试过的:
public void FuncDelete(string tableName)
{
// Getting data id value from a text box:
int x = Convert.ToInt32(IDBox);
// Trying to get the column on the related id value:
var TBL_Name = db.tableName.Find(x);
// Changing the attributes:
TBL_Name.isActive = false;
TBL_Name.isUpdated = true;
db.SaveChanges();
}
FuncDelete(Employee);
显然这是行不通的。我是 C# 和实体框架的新手。我将不胜感激任何帮助。
您始终可以使用泛型:
public async Task FuncDelete<T>()
{
int x = Convert.ToInt32(IDBox);
var queryStream = db.Set<T>.AsQueryable();
var o = await queryStream.Where(w => w.Id == x).FirstOrDefaultAsync();
o.IsActive = false;
o.IsUpdated = true;
db.Entry(o).State = EntityState.Modified;
await db.SaveChangesAsync();
}
然后调用它:
FuncDelete<Employee>();