Avatar
petrbeltimone:

Ahoj, mel bych dotaz, chci udelat mensi projekt (cca 20 tabulek v DB) pomoci asp.net mvc a entity framework. Pouzivam Database First (entity data model wizard). Nicmene mam problem s relaci 1:1, ktera je nastavena v DB, Visual studio mi nechce dovolit nastavit relaci mezi tabulkami na 0..1 pripadne 1:1. Pri pokusu o kompilaci dostavam nasledujici chybovou hlasku:

Error 1 Running transformation: Multiplicity is not valid in Role 'TarifDetails' in relationship 'FK_TarifDeta­ils_TarifPlan'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *. C:\Users\Petr\do­cuments\visual studio 2013\Projects\Mo­jeTestovaci\Mo­jeTestovaci\Mo­dels\Model1.ed­mx 72 12 MojeTestovaci

Nasledujici prikazy SQL pro vytvoreni dvou tabulek:

USE [db]
GO

/****** Object:  Table [dbo].[TarifPlan]    Script Date: 7/20/2015 11:18:14 AM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[TarifPlan](
        [id_TarifPlan] [int] IDENTITY(1,1) NOT NULL,
        [Enabled] [bit] NOT NULL,
        [Name] [nchar](10) NOT NULL,
 CONSTRAINT [PK_TarifPlans] PRIMARY KEY CLUSTERED
(
        [id_TarifPlan] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

Druha:

USE [db]
GO

/****** Object:  Table [dbo].[TarifDetails]    Script Date: 7/20/2015 11:19:53 AM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[TarifDetails](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [id_TarifPlan] [int] NOT NULL,
        [PricePerMonth] [money] NOT NULL,
        [AllowedItemsToScan] [int] NOT NULL,
 CONSTRAINT [PK_TarifDetails_1] PRIMARY KEY CLUSTERED
(
        [id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[TarifDetails]  WITH CHECK ADD  CONSTRAINT [FK_TarifDetails_TarifPlan] FOREIGN KEY([id_TarifPlan])
REFERENCES [dbo].[TarifPlan] ([id_TarifPlan])
GO

ALTER TABLE [dbo].[TarifDetails] CHECK CONSTRAINT [FK_TarifDetails_TarifPlan]
GO
Editováno 20.7.2015 10:26
 
Odpovědět 20.7.2015 10:25
Avatar
Mediel
Redaktor
Avatar
Mediel:

Je nezbytné, aby v tabulce TarifDetails bylo umělé ID [id]? Pokud je to 1:1 tak by bohatě stačilo tam mít jako primární klíč [id_TarifPlan]. Mohlo by to vyřešit i ten problém, ale nezkoušel jsem to.

Nahoru Odpovědět 29.7.2015 11:52
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.