2017-02-22 69 views
0

我只是MVC的新手,并通过在线教程进行学习。在我的代码中,我只是使用实体框架从数据库中检索数据。我在模型中添加了[Key]属性,但仍面临异常错误。我还需要做些什么来运行应用程序?真的,需要帮助!错误:在System.Data.dll中发生类型'System.ArgumentException'的异常,但未在用户代码中处理

控制器:

public class EmployeeDetailsController : Controller 
{ 
    public ActionResult details(int id) 
    { 
     EmployeeContext employeecontext = new EmployeeContext(); 
     Employee employee = employeecontext.Employees.Single(emp => emp.emp_id == id); 
     return View(employee); 
    } 
} 

Employeecontext.cs

public class EmployeeContext : DbContext 
{ 
    public DbSet<Employee> Employees { get; set; } 
} 

Employee.cs:

[Table("tbl_employee")] 
public class Employee 
{ 
    //[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    [Key] 
    public int emp_id { get; set; } 
    public string emp_name { get; set; } 
    public string emp_email { get; set; } 
} 

视图(details.cs.html):

.... 
<h2> Employee Details</h2> 
<div> 
    Customer id : @Model.emp_id 
    Customer name : @Model.emp_name 
    Customer email : @Model.emp_email 
</div> 

Web.config文件:

<connectionStrings> 
    <add name="EmployeeContext" 
     connectionString="Data Source=192.168.4.201;Initial Catalog=nhphealthnew1;User ID=teamaardee;[email protected]#1234#!" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
+1

调试你的代码!哪一行代码会引发异常,以及异常的详细信息。 –

+0

'Employee.cs:'是EF的自动生成的类? –

+0

调试后代码在Employeedetailscontroller中出错,“Employee employee = employeecontext.Employees.Single(emp => emp.emp_id == id);”错误:类型为'System.Data.Entity.Core.EntityCommandExecutionException'的异常发生在EntityFramework.SqlServer.dll中,但未在用户代码中处理 附加信息:执行命令定义时发生错误。详情请参阅内部例外。 –

回答

0

尝试这样

try{ 
    EmployeeContext employeecontext = new EmployeeContext(); 
    Employee employee = employeecontext.Employees.Where(e=> e.ID == id).First(); 
} 
catch (Exception ex) 
{ 
    Console.Writeline ("Exception: " + ex.toString()); 
} 

与后输出这里请。 哦,不要忘记检查你的表中是否有一个名为“tbl_employee”的表,在你的“nhphealthnew1”数据库中有正确的列。

+0

@ Elvin没问题好吧,我会试试这个.. !!! –

相关问题