gpt4 book ai didi

c# DAL类和业务层类

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:17 25 4
gpt4 key购买 nike

你好,

你能告诉我这是否可行吗?

public class Person
{
public string Name { get; set; }
public int ID { get; set; }
}

填充一个类调用,比如 person,它位于一个名为 Entities 的程序集中,并在另一个名为 DataAccessLayer 的程序集中完成代码填充(因此 person 和它所在的位置不在同一个程序集中)

//下面的代码将从数据读取器等读取,但这样做是为了使其//易于解释。

Person p=new Person();
p.Name="tom";
p.id = 10;

person 类现在可以被另一个系统访问,以允许他们能够访问 person。我想要的是防止其他系统能够更改 ID。能读但不能写。我是否需要创建另一个类等来允许这个并且只将这个类暴露给另一个系统(即业务对象)(即 ORM)?

我知道很多人会说只需将 ID 设为只读即可。即

public int ID { get; }

但如果我这样做,那么我无法从类似于上面的代码填充 ID,因为在我的 DataAccessLayer 中我将无法设置 ID,因为它是只读的。

谢谢尼尔

最佳答案

您可以为可以将 ID 传入的对象创建一个 internal 构造函数,然后为允许另一个 DLL (DataAccessLayer) 能够查看和使用内部的实体 DLL 设置标志在此 DLL 中调用。 (InternalsVisibleTo 属性)

关于c# DAL类和业务层类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com