HI,C# DAL Klasse und Business Schicht Klasse
können Sie mir sagen, ob dies möglich ist.
public class Person
{
public string Name { get; set; }
public int ID { get; set; }
}
Bestücken eine Klasse Anruf sagen Person, die in einer Baugruppe ist Entities wie dies mit der Bevölkerung des Codes genannt in einer anderen Baugruppe getan DataAccessLayer genannt (so Person und der Ort, wo es besiedelt ist nicht in der selbe Baugruppe)
// der untenstehende Code würde von einem Datenleser usw. lesen, aber ich habe es gerade gemacht, um es // leicht zu erklären.
Person p=new Person();
p.Name="tom";
p.id = 10;
Die Personenklasse soll nun einem anderen System zugänglich gemacht werden, damit sie auf Personen zugreifen können. Ich möchte verhindern, dass das andere System die ID ändern kann. in der Lage sein, es zu lesen, aber nicht zu schreiben. Muss ich eine andere Klasse usw. erstellen, um dies zu ermöglichen, und diese Klasse nur dem anderen System (d. H. Einem Geschäftsobjekt) (d. H. ORM) offen legen?
Ich weiß, viele Leute werden sagen, nur die ID Readonly machen. das heißt
public int ID { get; }
aber wenn ich dies tun, dann kann ich aus dem Code die ID nicht füllen ähnlich wie oben, weil in meinem DataAccessLayer werde ich nicht in der Lage sein, die ID zu setzen, wie es nur lesbar ist.
dank Niall
Warum nicht die schreibgeschützten Eigenschaften beibehalten und einfach den Wert der Hintergrundvariable über den Konstruktor setzen? – Pierreten