【发布时间】:2018-01-02 19:19:01
【问题描述】:
我正在尝试获取项目的 ID 号以更新该项目。然而,目前这就是我所拥有的。不知道如何做问题存储库。我已更新问题并收到此错误严重性代码
“Employee”不包含“Entry”的定义,并且找不到接受“Employee”类型的第一个参数的扩展方法“Entry”(您是否缺少 using 指令或程序集引用?)
还有这个 错误 非静态字段、方法或属性需要对象引用 Issue getIssue = IssueRepository.GetEmployeeById(id);
员工类
public class Employee
{
[Required]
[Display(Name="Employee Number")]
public int employeeNum { get; set; }
[Display(Name = "Employee First Name")]
public string firstName { get; set; }
[Display(Name = "Employee Last Name")]
public string lastName { get; set; }
[Display(Name = "Employee Department")]
public string department { get; set; }
[Display(Name = "Employee Name")]
public string Name
{
get
{
return string.Concat(firstName, " ", lastName);
}
}
[Display(Name = "Logged in as:")]
public string LoggedInUserName { set; get; }
[Display(Name = "Approved By:")]
public string ApprovedByName { set; get; }
public class IssueRepository : IIssueRepository, IDisposable
{
private Employee context;
public IssueRepository(Employee context)
{
this.context = context;
}
public Employee GetEmployeeById(int id)
{
return context.employeeNum.Find(id);
}
public void UpdateEmployee(Employee employee)
{
context.Entry(employee).State = EntityState.Modified;
}
public void Save()
{
context.SaveChanges();
}
}
公共类 IIssueRepository {
public interface IssueRepository : IDisposable
{
Employee GetEmployeeById(int employeeNum);
void UpdateEmployee(Employee employee);
void Save();
}
}
public ActionResult Edit(int id) {
Issue getIssue = IssueRepository.GetEmployeeById(id);
return View(getIssue);
}
/// <summary>
/// Gets the changes submitted from the user and updates the Item in the List
/// </summary>
/// <param name="issue"></param>
/// <returns></returns>
///
[HttpPost]
public ActionResult Edit(Issue issue)
{
if (ModelState.IsValid)
{
_issueRepository.UpdateEmployee(issue);
_issueRepository.Save();
return RedirectToAction("IssueItem", issue);
}
else
{
ModelState.AddModelError(string.Empty, "Please make sure you have filled in all required fields.");
}
return View(issue);
}
【问题讨论】:
-
你有接口但没有实现。首先将您的接口名称更改为 IIssueRepository 以遵循命名约定。然后创建一个名为 IssueRepository 的类,该类使用 GetEmployeeById 方法实现 IIssueRepository。这应该是调用 DB 并返回 Employee 对象的代码。
-
你能帮帮我吗,我不知道从那里去哪里
-
所以 IIssueRepository 应该在问题类中还是不同的?
-
你还没有初始化
_context。Employee是否有一个employeeNum 属性(使用Find()方法)?向我们展示 Employee 类。
标签: c# asp.net asp.net-mvc