Pour commencer j'ai deux tables, PersonNames
et PersonNameVariations
. Lorsqu'un nom est recherché, il trouve le nom le plus proche de l'un de ceux disponibles dans PersonNames
et l'enregistre dans la table PersonNameVariations
s'il ne s'y trouve pas déjà.Est-il possible de rendre une colonne non nullable NULL lorsqu'elle est utilisée dans une vue? (serveur sql)
J'utilise un proc stocké pour rechercher le PersonNames
pour un passé dans PersonNameVariation
et renvoyer les informations sur les deux PersonName
trouvé et la PersonNameVariation
qui a été comparé. Depuis que j'utilise Entity Framework, j'ai besoin de retourner un type complexe dans le Import Function
mais pour une raison quelconque, il dit que mon framework actuel ne le supporte pas. Ma dernière option était d'utiliser un Entity
pour retourner dans mon proc stocké à la place.
Le résultat dont j'avais besoin est le PersonName
qui a été trouvé et le PersonNameVariation
qui a été enregistré. Comme je ne peux pas renvoyer les deux entités, j'ai créé une vue PersonSearchVariationInfo
et l'ai ajoutée dans mon Entity Framework afin de l'utiliser comme entité à renvoyer.
Le problème est que la recherche ne retournera pas toujours un Person Name
match. Il doit être capable de renvoyer uniquement les données PersonNameVariation
dans certains cas, ce qui signifie que tous les champs du PersonSearchVariationInfo
appartenant à PersonName
doivent être NULL.
Comment puis-je prendre ma vue et rendre certains champs nullables? Quand je le fais directement dans Entity Framework, j'obtiens une erreur de mappage:
Error 4 Error 3031: Problem in mapping fragments starting at line 1202:Non-nullable column myproject_vw_PersonSearchVariationInfo.DateAdded in table myproject_vw_PersonSearchVariationInfo is mapped to a nullable entity property. C:\Users\Administrator\Documents\Visual Studio 2010\Projects\MyProject\MyProject.Domain\EntityFramework\MyProjectDBEntities.edmx 1203 15 MyProject.Domain
Vous avez des idées?
Merci,
Matt
um. gbn vous a donné une réponse impressionnante jours auparavant. Est-ce que ça marche pour vous ou pas? Si ce n'est pas le cas, pourquoi pas? Si c'est le cas, veuillez accepter sa réponse. – MaasSql
Je vais devoir vérifier ce que j'ai fait. J'ai oublié de mettre à jour cette question après l'avoir compris. Sa réponse ne traitait pas directement ma situation, mais je n'ai peut-être pas été clair avec ce dont j'avais besoin. Je rédigerai quelque chose quand j'aurai une chance et j'essayerai de clarifier ce dont j'avais besoin. – Matt