我正在使用signalR tutorial中的数据库实现示例来查找已连接用户的connectionId。
以下是模型的代码:
public class UserContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Connection> Connections { get; set; }
}
public class User
{
[Key]
public string UserName { get; set; }
public ICollection<Connection> Connections { get; set; }
}
public class Connection
{
public string ConnectionID { get; set; }
public string UserAgent { get; set; }
public bool Connected { get; set; }
}
我想使用数据库优先模型,因为某些表已经实现并填充。我是Entity Framework的新手,很难理解用户表如何在数据库中表示?
用户表
ColumnName DataType AllowNulls
___________________________
id bigint(自动递增PK)
UserName varchar(20)
连接???
答案 0 :(得分:0)
http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d
When right-clicking on a C# project, the following context menu functions are supported:
Reverse Engineer Code First - Generates POCO classes, derived DbContext and Code First mapping for an existing database.
通过使用这种“逆向工程”工具,您可以了解更多有关工作方式的信息......比大多数方式,恕我直言。
再一次,对它进行逆向工程,因为你可能比其他方式更熟悉db / ddl。
答案 1 :(得分:0)
如果您使用数据库优先,那么它取决于您在数据库中的表示方式;首先编写数据库,然后将其映射到.NET类型。如果您首先使用代码,并希望查看生成的架构的外观,最简单的方法就是运行它。