我有以下功能:如何在使用實體框架添加標識時從多個對象獲取標識?
public IEnumerable<Task> AddTasks(IEnumerable<Task> tasks)
{
foreach (Task task in tasks)
{
Db.Tasks.Add(task);
}
Db.SaveChanges();
return tasks;
}
我需要這個函數中插入多個對象。返回任務然而,當,對象是一樣的,當我給那些的TaskID(身份)仍然具有0
值我想這一個的SaveChanges之後,但它墜毀:
//Revive object
foreach (Task task in tasks)
{
Db.Entry(task).GetDatabaseValues();
}
哪有我獲得這些項目的身份?
編輯:
public partial class Task
{
public int TaskID { get; set; }
public int ProjectID { get; set; }
public bool IsActive { get; set; }
public System.DateTime CreatedDate { get; set; }
}
public void AddTasksUsingViewModels(IEnumerable<TaskVM> taskVms)
{
IEnumerable<Task> tasksToAdd = taskVms.Select
(
t =>
new Task
{
ProjectID = taskVm.ProjectID,
IsActive = true,
CreatedDate = DateTime.Now
}
);
IEnumerable<Task> entityList = AddTasks(tasksToAdd);
}
什麼類型的TaskID? int,GUID? – skalinkin
http://stackoverflow.com/questions/16079217/how-to-generate-and-auto-increment-id-with-entity-framework – skalinkin
TaskID是一個int – Victor