héritage avec ADO.NET Entity Data Model
bonjour,
voilà je commence un projet en ASP.net mcv 4 avec une base sqlserver, et j'ai une exemple d'héritage dans ma base.
entité maitresse 'article', entités filles 'project' + 'tutorial_part' :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| create table article (
id_article int not null,
titile_article varchar(128) not null,
text_article text not null,
constraint pk_article primary key nonclustered (id_article)
)
go
create table project (
id_article int not null,
beginning_project datetime not null,
ending_project datetime not null,
url_project varchar(128) not null,
written_at_project datetime not null,
constraint pk_project primary key (id_article)
)
go
create table tutorial_part (
id_article int not null,
constraint pk_tutorial_part primary key (id_article)
)
go
alter table project
add constraint foreign key fk_project (id_article) references article(id_article)
go
alter table project
add constraint foreign key fk_tutorial_part (id_article) references article(id_article)
go |
j'ai créé ma base et mon projet sous vs2010. je cré mon Data Entity Model et je fait clic droit > ajouter > héritage.
je sélectionne mon entité parente, une des entités filles, et je clique sur ok.
et là j'obtiens toute une flopée d'erreurs déplaisantes :
Citation:
Erreur 1 Erreur 19*: Un membre nommé id_article ne peut pas être défini dans la classe myPortfolioModel.project. Il est défini dans la classe ancêtre myPortfolioModel.article. C:\Users\Maxime\Desktop\projets\myPortfolio\myPortfolio.ClassLibrary\DataAccess\Generated\Linq\myPortfolioModel.edmx 182 11 myPortfolio.ClassLibrary
Erreur 2 Erreur 113*: Multiplicity n'est pas valide dans le Role «*project*» de la relation «*FK_project_article*». Dans la mesure où les propriétés de Dependent Role ne sont pas les propriétés de clé, la limite supérieure de la multiplicité du Dependent Role doit être *. C:\Users\Maxime\Desktop\projets\myPortfolio\myPortfolio.ClassLibrary\DataAccess\Generated\Linq\myPortfolioModel.edmx 325 13 myPortfolio.ClassLibrary
Erreur 3 Erreur 111*: Les propriétés référencées par le Principal Role project doivent être rigoureusement identiques à la clé de l'EntityType myPortfolioModel.project référencé par le Principal Role dans la contrainte de relation pour le Relationship myPortfolioModel.FK_pro_project. Assurez-vous que toutes les propriétés de la clé sont spécifiées dans le Principal Role. C:\Users\Maxime\Desktop\projets\myPortfolio\myPortfolio.ClassLibrary\DataAccess\Generated\Linq\myPortfolioModel.edmx 409 13 myPortfolio.ClassLibrary
j'aimerais vraiment pouvoir avancer dans mon projet :/
Quelqu'un saurait comment me dépatouiller de là svp ?
merci :)