运行我的wcf项目时不会创建数据库

时间:2015-06-03 07:02:50

标签: asp.net entity-framework wcf dbcontext

用户服务

我是第一个编码EF和WCF的新手,我创建了一个测试项目,其中包含一个Webforms项目,一个业务逻辑(代码优先类),一个用于我的服务的wcf项目以及一个稍后的数据访问

这是我的wcf的启动文件。

    public User Login(string username, string password)
    {
        if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
        {
            throw new Exception("User name or password cannot be empty");
        }

        var userContext = new UserContext();
        var user = userContext.Users.FirstOrDefault(u => u.Username.Equals(username, StringComparison.InvariantCulture) &&
                                                         u.Password.Equals(password, StringComparison.InvariantCulture));
        return user;
    }

用户背景

public class UserContext : DbContext
{
    public DbSet<User> Users { get; set; }

    static UserContext()
    {
        Database.SetInitializer(new UserContextInitializer());
    }
}

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我会用

using(var userContext = new UserContext())
{
   code(...)
}

您忘记了公共构造函数。

public class UserContext : DbContext
{
    public DbSet<User> Users { get; set; }

    public static UserContext() : base("name of database connection string")
    {
        Database.SetInitializer(new UserContextInitializer());
    }
}