141 messaggi dal 25 febbraio 2001
it.linkedin.com
Ciao a tutti,

ho 2 tabella in sql server che sono legate da una relazione. Le ho mappate in EF e adesso devo creare l'associazione tra la tabella Logins verso User_Profiles tramite il campo UID che è in Logins una chiave esterna e in User_Profiles primaria.
Una volta creata l'associazione e il mapping, in compilazione mi da gli errori:
Errore    1    Errore 3024: Problema nel frammento di mapping a partire dalla riga 193: È necessario specificare il mapping per tutte le proprietà chiave (Logins.UID) di EntitySet Logins.
    C:\Users\alfredo.devito\Progetti\crm_searchgroup\CrmSearchGroup.edmx    194    15    crm_searchgroup

Errore    2    Errore 3025: Problema nel frammento di mapping a partire dalla riga 193: È necessario specificare il mapping per tutte le proprietà chiave (User_Profiles.UPID) della tabella User_Profiles.
    C:\Users\alfredo.devito\Progetti\crm_searchgroup\CrmSearchGroup.edmx    194    15    crm_searchgroup

Errore    3    Errore 3021: Problema nel frammento di mapping a partire dalla riga 254: Ognuna delle seguenti colonne nella tabella Logins è mappata a più proprietà del lato concettuale:
Logins.UID è mappata a <LoginsUser_Profiles.User_Profiles.UPID, LoginsUser_Profiles.Logins.UID>

    C:\Users\alfredo.devito\Progetti\crm_searchgroup\CrmSearchGroup.edmx    255    11    crm_searchgroup


L'entity framework è quello del 3.5 sp1.

Sapreste dirmi dove sbaglio?
Grazie 1000
se posti gli script delle due tabelle faccio una prova in locale e ti dico...
141 messaggi dal 25 febbraio 2001
it.linkedin.com
Eccole:

USE [crm_searchgroup]
GO

/****** Object:  Table [dbo].[Logins]    Script Date: 10/07/2010 12:08:53 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Logins](
    [UID] [int] NOT NULL,
    [username] [varchar](200) NOT NULL,
    [password] [varchar](500) NOT NULL,
    [parent] [int] NOT NULL,
 CONSTRAINT [PK_Logins] PRIMARY KEY CLUSTERED 
(
    [UID] 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

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[Logins]  WITH CHECK ADD  CONSTRAINT [FK_Logins_User_Profiles] FOREIGN KEY([UID])
REFERENCES [dbo].[User_Profiles] ([UID])
GO

ALTER TABLE [dbo].[Logins] CHECK CONSTRAINT [FK_Logins_User_Profiles]
GO

ALTER TABLE [dbo].[Logins] ADD  CONSTRAINT [DF_Logins_parent]  DEFAULT ((-1)) FOR [parent]
GO



USE [crm_searchgroup]
GO

/****** Object:  Table [dbo].[User_Profiles]    Script Date: 10/07/2010 12:09:34 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[User_Profiles](
    [UPID] [int] IDENTITY(1,1) NOT NULL,
    [UID] [int] NOT NULL,
    [ragione_sociale] [varchar](250) NOT NULL,
    [indirizzo] [varchar](150) NULL,
    [cap] [char](6) NULL,
    [citta] [varchar](30) NULL,
    [provincia] [char](2) NULL,
    [telefono] [varchar](20) NULL,
    [cellulare] [varchar](20) NULL,
    [fax] [varchar](20) NULL,
    [email] [varchar](200) NULL,
    [posizione_aziendale] [varchar](50) NULL,
    [persona_di_riferimento] [varchar](30) NULL,
    [partita_iva] [varchar](11) NULL,
    [codice_fiscale] [varchar](16) NULL,
    [iban] [varchar](26) NULL,
    [banca] [varchar](40) NULL,
    [come_conosciuti] [text] NULL,
    [data_attivazione] [date] NULL,
    [data_scadenza] [date] NULL,
    [modalita_pagamento] [int] NOT NULL,
    [listino_applicato] [int] NOT NULL,
    [sconto] [int] NOT NULL,
    [regione_competenza] [varchar](70) NULL,
    [provincia_competenza] [char](2) NULL,
    [is_managed] [bit] NOT NULL,
    [attrezzature_ricevute] [text] NULL,
    [contratto_assistenza] [bit] NOT NULL,
    [data_scadenza_assistenza] [date] NULL,
    [importo] [money] NULL,
    [descrizione] [text] NULL,
    [is_client] [bit] NOT NULL,
 CONSTRAINT [PK_user_profile] PRIMARY KEY CLUSTERED 
(
    [UPID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [IX_User_Profiles] UNIQUE NONCLUSTERED 
(
    [UID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_user_profile_UID]  DEFAULT ((-1)) FOR [UID]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_modalita_pagamento]  DEFAULT ((0)) FOR [modalita_pagamento]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_listino_applicato]  DEFAULT ((0)) FOR [listino_applicato]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_sconto]  DEFAULT ((0)) FOR [sconto]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_is_managed]  DEFAULT ((0)) FOR [is_managed]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_contratto_assistenza]  DEFAULT ((0)) FOR [contratto_assistenza]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_importo]  DEFAULT ((0)) FOR [importo]
GO

ALTER TABLE [dbo].[User_Profiles] ADD  CONSTRAINT [DF_User_Profiles_is_client]  DEFAULT ((0)) FOR [is_client]
GO



Scusami se son un pò lunghette.
effettivamente anche io ho un pò di problemi a mapparle anche se per riprodurre il 3024 ho dovuto creare una nuova entity, perchè su queste due gli errori che mi dava erano diversi,

devo rifare tutto su un progetto nuovo, e ti faccio sapere, anche se vorrei verificare prima il tutto sul db, devo capire se c'è qualcosa che mi sfugge..

quello che mi insospettisce è il 3021 che è uscito subito anche a me...
141 messaggi dal 25 febbraio 2001
it.linkedin.com
Grazie per l'aiuto...sto cercando anche io di capire cosa succede...
Un test da fare, sarebbe quello di utilizzare il frameword 4.0 così da utilizzare la nuova versione di EF, devo farla a casa sta prova..
141 messaggi dal 25 febbraio 2001
it.linkedin.com
Ho fatto un test:

ho creato un nuovo db, con 2 tabelle legate tramite una fk con una relazione 1a1 e ho creato in un progetto .net 3.5 l'edmx e in automatico si è creato l'associazione prendendo le info dalla FK. Adesso la cosa si fa più strana, perchè evidentemente con una relazione 1a* si incazza il builder forse, non lo so ma sto impazzendo.
infatti il comportamento normale è quello di inserire sul model la relazione esistente... e anche a me non l'ha fatta...
ora non ho indagato, appena posso riguardo tutto a partire dagli script.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.