我正在尝试使用Entity Framework创建一个Db,当我运行该程序时,数据库没有被创建,我错过了一些东西,因为我一直在讨论这个问题已经有一段时间了。
以下代码:
数据库:
func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) {
here i want to use lat and long
}
员工:
class SchoolEmployeesContext : DbContext
{
public SchoolEmployeesContext()
: base("SchoolEmployeesDB") { }
public DbSet<Department> Departments { get; set; }
public DbSet<Employee> Employees { get; set; }
}
部门:
abstract class Employee
{
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public string EmployeeSurname { get; set; }
public string Address { get; set; }
public int Grade { get; set; }
public double Salary { get; set; }
public DateTime DateOfCommencement { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public Department DepartmentOfEmployee { get; set; }
public Employee NewEmployee(Employee NewEmp)
{
return NewEmp;
}
}
答案 0 :(得分:0)
EF只会在您实例化DbContext类时触发在您的应用程序中创建数据库。因此,要触发此操作,请务必致电new SchoolEmployeesContext()
,例如static void main()
。虽然不是推荐的地方,但这不是你的核心问题。
还有其他选择,例如
Database-Update
Database-Update -Script
获取EF生成的T-SQL以创建数据库答案 1 :(得分:0)
将其放入Global.asax.cs
protected void Application_Start()
{
....
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SchoolEmployeesContext>());
}
用这个来测试你的代码:
try
{
using (database = new SchoolEmployeesContext())
{
var data = database.Departments.ToList();
}
}
catch (Exception ex)
{
Console.Write(ex);
}
如果你的数据库尚未创建,你会得到一个例外原因。