我收到"无效的列名称"错误,我坚信它,因为我的映射是错误的。
我首先使用C#和数据库。
我的表格如下:
icotb001_unidades_c ---- gedtbd042_posto_atendimento_c ------ gedtbd039_posto_atendimento_m
(id)nu_unidade ------------(id)nu_unidade --------------------------- ---(id)co_posto
no_unidade -----------------(fk)co_posto ------------------------- --------- no_posto
试图说清楚:
icotb001_unidades_c-- 0..1:1 - gedtbd042_posto_atendimento_c - M:1 - gedtbd039_posto_atendimento_m
gedtbd042_posto_atendimento_c继承自icotb001_unidades_c。这就是为什么它不是典型的对多关系。
首先使用数据库,未创建表gedtbd042_posto_atendimento_c,其他表具有以下代码:
public partial class icotb001_unidades_c
{
public icotb001_unidades_c ()
{
}
[Key]
public string nu_unidade { get; set; }
public string no_unidade{ get; set; }
public virtual gedtbd039_posto_atendimento_m gedtbd039_posto_atendimento_m { get; set; }
}
public partial class gedtbd039_posto_atendimento_m
{
public gedtbd039_posto_atendimento_m()
{
icotb001_unidades_c = new HashSet<icotb001_unidades_c>();
}
[Key]
[StringLength(9)]
public string co_posto { get; set; }
[Required]
public string no_posto { get; set; }
public virtual ICollection<icotb001_unidades_c> icotb001_unidades_c { get; set; }
}
之间也没有创建任何流畅的API。我搜索了MSDN和this已回答的问题,但无法使其正常运行。
有什么想法吗?
修改
我更改了上面的表名,以便用下面的表语句清楚说明。
CREATE TABLE [dbo].[gedtbd039_posto_atendimento_m](
[co_posto] [char](9) NOT NULL,
[no_posto] [varchar](100) NOT NULL,
CONSTRAINT [PK_gedtbd039_posto_atendimento] PRIMARY KEY CLUSTERED
(
[co_posto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 98) ON [PRIMARY]
) ON [PRIMARY]
---------
CREATE TABLE [dbo].[icotb001_unidades_c](
[nu_unidade] [char](4) NOT NULL,
[no_unidade] [varchar](70) NOT NULL,
CONSTRAINT [PK_icotb001_unidades_c] PRIMARY KEY CLUSTERED
(
[nu_unidade] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 98) ON [PRIMARY]
) ON [PRIMARY]
---------
CREATE TABLE [dbo].[gedtbd042_posto_atendimento_c](
[co_posto] [char](9) NOT NULL,
[nu_unidade] [char](4) NOT NULL,
CONSTRAINT [PK_gedtbd042_vinculacao_posto_atendimento] PRIMARY KEY CLUSTERED
(
[nu_unidade] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 98) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[gedtbd042_posto_atendimento_c] WITH CHECK ADD CONSTRAINT [FK_gedtbd042_vinculacao_posto_atendimento_gedtbd039_posto_atendimento] FOREIGN KEY([co_posto])
REFERENCES [dbo].[gedtbd039_posto_atendimento_m] ([co_posto])
GO
ALTER TABLE [dbo].[gedtbd042_posto_atendimento_c] CHECK CONSTRAINT [FK_gedtbd042_vinculacao_posto_atendimento_gedtbd039_posto_atendimento]
GO
ALTER TABLE [dbo].[gedtbd042_posto_atendimento_c] WITH CHECK ADD CONSTRAINT [FK_gedtbd042_vinculacao_posto_atendimento_icotb001_unidades_c] FOREIGN KEY([nu_unidade])
REFERENCES [dbo].[icotb001_unidades_c] ([nu_unidade])
GO
ALTER TABLE [dbo].[gedtbd042_posto_atendimento_c] CHECK CONSTRAINT [FK_gedtbd042_vinculacao_posto_atendimento_icotb001_unidades_c]
GO