【问题标题】:Database is not created when i run my wcf project运行 wcf 项目时未创建数据库
【发布时间】:2015-08-17 05:55:58
【问题描述】:

用户服务

我是第一个编码 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());
    }
}

我错过了什么?

【问题讨论】:

    标签: asp.net entity-framework wcf dbcontext


    【解决方案1】:

    我会用

    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());
        }
    }
    

    【讨论】:

    • 这不能解决问题,我没有连接字符串,如果没有提供,实体框架不应该默认使用我的本地数据库
    • @ifelabolz 你安装了 SQL Express 吗?如果两者都安装了,EF 会选择这个。
    • @user2697817 我安装了 SQL Server 2008
    • 您安装了 LocalDb 吗? EF 选择这个或 SQL Express。见msdn.microsoft.com/en-gb/data/jj592674
    • 如果您安装了 SQL Server 2008,则必须提供连接字符串,否则 EF 将使用随 Visual Studio 提供的 SQL Express。这是我的猜测,如果你有 SQL Manager,你可以连接到本地 MSSQL express 数据库。我的位于 C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
    猜你喜欢
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多