---
title: "Var skapa entityklass"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/168719-var-skapa-entityklass"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "doggelito"
published: "2008-02-04T13:26:08.000Z"
updated: "2008-02-08T13:50:23.000Z"
replies: 11
views: 678
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/168719-var-skapa-entityklass"
---

# Var skapa entityklass

## #1 — doggelito, 2008-02-04T13:26Z

Är lite osäker hur jag ska göra här!
Har en 3-skiktsmodell aspx -\> bll -\> dao
På aspx sidan har jag ett formulär för att skapa en produkt (entity Product)
När man väl ska skapa sin produkt:
\- Ska jag skapa en tom Product på aspx.cs och fylla med formulärvärden och skicka Product vidare till bll.
\- Eller ska jag skicka värdena vidare till bll och skapa en tom Product där som sedan fylls?

Jag tycker det känns mest logiskt att skicka värdena vidare till bll och skapa ny Product där, nackdelen är att det är så helsikes många parametrar!

Permalänk: https://www.webforum.nu/p/168719

## #2 — erka, 2008-02-04T13:50Z

Vill du inte exponera dina domänobjekt i presentationen kan du använda dig av exempelvis data transfer objects, dto:er, annars låter det omständigt att skicka värden, mer upplagt för fel.

Så kontentan, vill du absolut inte använda dig av dina domänobjekt i aspx använd dto:er annars exponera objekten där och skapa dem och skicka ner dem i bll.

Permalänk: https://www.webforum.nu/p/2077473

## #3 — doggelito, 2008-02-04T14:13Z

Jag har absolut inga problem med att exponera objekten i presentationslager!
Okej, jag skapar en Product i aspx.cb och skickar den vidare.
Men förstör man inte lite av valideringsmöjligheterna då?
Jag måste alltså se till att samtliga värden är korrekt på aspx för annars får man ju en produkt med ev. fel i.
Är inte tanken med flerlagersmodell att validering ska ligga i affärsskiktet? :stud

Permalänk: https://www.webforum.nu/p/2077476

## #4 — vbgSnake, 2008-02-04T14:19Z

Du kan skicka med värdena till ditt affärsskit och där göra en validering. När valideringen är klar skapar du en produkt annars returnerar du exception.

Permalänk: https://www.webforum.nu/p/2077478

## #5 — erka, 2008-02-04T14:22Z

Titta gärna in Application Validation Block från Microsoft Patterns & Practices, fin funktionalitet för validera hela objekt, lite AOP-stuk men det vänjer man sig vid. 

Validering ska ligga i flera skikt, viktigast är innan du sätter in data. Men du kanske vill använda dig av de inbyggda validatorerna i asp.net också för att snabbt ge användar feedback och lägga en del av hanteringen på klienten.

Själv använder jag Application Validation Block och använder samma regeler för att validera innan jag sätter in datan, som när jag validerar GUI, utan roundtrippen ner i lagrena.

Permalänk: https://www.webforum.nu/p/2077479

## #6 — doggelito, 2008-02-04T14:25Z

> **vbqSnake skrev:**
>
> Du kan skicka med värdena till ditt affärsskit och där göra en validering. När valideringen är klar skapar du en produkt annars returnerar du exception.

Mm, men då är jag tillbaka på ruta 1!
Nackdelen är att det är måååånga (ett 50-tal) parametrar till en produkt och det kommer inte bli finkod när den metoden är färdigskriven!

> **erka skrev:**
>
> Titta gärna in Application Validation Block från Microsoft Patterns & Practices

Tack för tipset! Ska kollas in! :)

Permalänk: https://www.webforum.nu/p/2077482

## #7 — doggelito, 2008-02-04T14:53Z

> **erka skrev:**
>
> Själv använder jag Application Validation Block och använder samma regeler för att validera innan jag sätter in datan, som när jag validerar GUI

Betyder det att du använder AVB även för validering på aspx-sidor?
Jag såg nämligen i quickstarten att det är möjligt!

Permalänk: https://www.webforum.nu/p/2077488

## #8 — erka, 2008-02-04T14:55Z

Ja i de fallen deras proxyvalidator räcker till. Annars gör jag valideringen manuellt från mitt presentationslager via en generiskmetod som populerar en felruta som finns i en masterpage uppe i aspxen.

Permalänk: https://www.webforum.nu/p/2077489

## #9 — doggelito, 2008-02-08T08:39Z

Neeeeeeeeej, funkar inte VAB i medium trust?
Får

```
System.Security.SecurityException: That assembly does not allow partially trusted callers.
```

på raden 

```
<val:PropertyProxyValidator ID="NameValidator" runat="server" ...
```

Permalänk: https://www.webforum.nu/p/2078337

## #10 — CatZ, 2008-02-08T09:16Z

Du får lägga till 

```
[assembly: System.Security.AllowPartiallyTrustedCallers()]
```

i din assembly.cs

Permalänk: https://www.webforum.nu/p/2078340

## #11 — doggelito, 2008-02-08T12:48Z

Hmm, gör jag det i en egen assambly-fil eller måste det in i orginalassamblyn?
Den kommer jag nog inte in i om inte microsoft har sourcefiler med i paketet så att jag kan kompilera om alltihop.
Dll:en heter annars: Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet.dll

Permalänk: https://www.webforum.nu/p/2078391

## #12 — doggelito, 2008-02-08T13:50Z

Wee hoo!   :L 
Tack CatZ, det gjorde susen!   :bire 
Det gick att kompilera om microsofts filer.

Permalänk: https://www.webforum.nu/p/2078409

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/168719-var-skapa-entityklass
