我有一个带有一个小桌子的小型数据库。
CREATE TABLE [dbo].[Connections](
[connectionID] [bigint] IDENTITY(1,1) NOT NULL,
[ipAddress] [varchar](50) NULL,
[ConnectionGUID] [varchar](100) NULL,
[created] [datetime] NULL,
[registrationID] [varchar](100) NULL,
CONSTRAINT [PK_Connections] PRIMARY KEY CLUSTERED
(
[connectionID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
当我从数据库生成模型时,它会生成:
public virtual DbSet<Connections> Connections { get; set; }
其中:
public partial class Connections
{
public long connectionID { get; set; }
public string ipAddress { get; set; }
public string ConnectionGUID { get; set; }
public Nullable<System.DateTime> created { get; set; }
public string registrationID { get; set; }
}
我不知道它为什么生成DbSet而不是单个类
当我尝试填充类和SaveChanges时,如何访问DbSet?
using (savitassaEntities3 entities3 = new savitassaEntities3())
{
entities3.Connections conn = new Connections();
}
它也与SignalR类Connections冲突,因为这是一个信号中心。
答案 0 :(得分:1)
从数据库的角度来看,将DbSet视为表,将类(Connections)视为该表中的一行。 DbSet包含在DbContext类中,您可以将其视为数据库。
对于与Connections的名称冲突,请确保完全命名空间限定它。 entities3.Connections conn = new MyProject.MyNamespace.Connections();
因此,为了选择记录,你可以按照
的方式做点什么var cn = new savitassaEntities3();
var query = cn.Connections.Where(c => c.foo == bar);
要插入连接,请使用
cn.Connections.Add(value);
cn.SaveChanges();
如果我错过了您正在尝试做的事情以及您拥有的内容,请随意添加更多代码,我可以看看。