C# 如何使用c从DB创建数据类#

C# 如何使用c从DB创建数据类#,c#,.net,class,data-binding,C#,.net,Class,Data Binding,可能重复: 目前我有以下课程: public class myActions { public const string Create = "Create"; public const string Read = "Read"; public const string Update = "Update"; public const string Delete = "Delete"; } 但是,如果DB中名为Action的表发生更改(添加或删除可能的操作),我不

可能重复:

目前我有以下课程:

public class myActions
{
    public const string Create = "Create";
    public const string Read = "Read";
    public const string Update = "Update";
    public const string Delete = "Delete";
}
但是,如果DB中名为Action的表发生更改(添加或删除可能的操作),我不想修改应用程序以支持新操作。所以,我的问题是:如何使用存储在DB中的操作更新这个类,并能够在整个应用程序中使用这些操作


更新:数据库中的表只有两列:idAction、Name。

您似乎不是在使用数据库,而是在创建一个类来镜像数据库表中的数据

您应该从理解在应用程序中使用数据的概念开始

为了快速入门,我推荐以下来自Microsoft的视频:。
30分钟后,您将掌握开始使用数据构建应用程序所需的基本知识。

您似乎不是在使用数据库,而是在创建一个类,该类将镜像数据库表中的数据

您应该从理解在应用程序中使用数据的概念开始

为了快速入门,我推荐以下来自Microsoft的视频:。
30分钟后,您将掌握开始使用数据构建应用程序所需的基本知识。

您是否询问是否可以根据数据库中的内容添加、删除或更改类的属性?如果是这样的话,我建议的唯一方法是myActions类是由某种代码生成器在开发时构建的类。请记住,如果在代码中的其他地方引用了myActions.Create和“Create”,则无法从数据库中编译

如果你建议你想在运行时改变这些动作,那么你可以考虑让MyActs类类似这样的事情:

公共集体诉讼 {

public List ActionList=List();
公共行动(){
//这里有一些代码,用于从数据库中的操作填充列表
}

}

您是否询问是否可以根据数据库中的内容添加、删除或更改类的属性?如果是这样的话,我建议的唯一方法是myActions类是由某种代码生成器在开发时构建的类。请记住,如果在代码中的其他地方引用了myActions.Create和“Create”,则无法从数据库中编译

如果你建议你想在运行时改变这些动作,那么你可以考虑让MyActs类类似这样的事情:

公共集体诉讼 {

public List ActionList=List();
公共行动(){
//这里有一些代码,用于从数据库中的操作填充列表
}


}

您是否尝试过使用LINQ to SQL或实体框架?不太可能。我与DB的所有交互都是通过ADO.NET完成的。但是,如果你能想到使用这些工具的解决方案,我愿意尝试!为了清楚起见,您可以像在数据库中一样显示表列吗?在我看来,您使用这个类作为反魔法字符串模式(为什么不是静态的?)-如果是这样,也就是说,如果这只是为了帮助您使用intellisense,那么不,我不认为您可以在DBA中这样做如果DBA知道他们在做什么,他们永远不会添加或删除这些操作。请参阅:。它们可能并非对所有数据都可用,但它们是唯一存在的。您是否尝试过使用LINQ to SQL或实体框架?不太可能。我与DB的所有交互都是通过ADO.NET完成的。但是,如果你能想到使用这些工具的解决方案,我愿意尝试!为了清楚起见,您可以像在数据库中一样显示表列吗?在我看来,您使用这个类作为反魔法字符串模式(为什么不是静态的?)-如果是这样,也就是说,如果这只是为了帮助您使用intellisense,那么不,我不认为您可以在DBA中这样做如果DBA知道他们在做什么,他们永远不会添加或删除这些操作。请参阅:。它们可能不是所有数据都可用,但它们是唯一存在的。加油!我之所以这样做的唯一原因是因为我不知道如何从DB动态获取它,而且我仍然需要在整个应用程序中使用该类。一般来说,code gen对DB模式很有用,但不是数据本身:)这就是为什么实体框架及其从DB模式生成代码的能力存在的原因。@Alejandro:那么这个答案正是您需要阅读的。不要复制从数据库中读取数据的数据写入代码。@Alejandro:Entity Framework提供您所要求的内容。它将创建一个类,其中包含反映表中字段的属性。它将提供从数据库动态获取数据的方法,并允许您在应用程序中使用它。看看。@Nelson我现在就看一看,随时通知你!来吧!我之所以这样做的唯一原因是因为我不知道如何从DB动态获取它,而且我仍然需要在整个应用程序中使用该类。一般来说,code gen对DB模式很有用,但不是数据本身:)这就是为什么实体框架及其从DB模式生成代码的能力存在的原因。@Alejandro:那么这个答案正是您需要阅读的。不要复制从数据库中读取数据的数据写入代码。@Alejandro:Entity Framework提供您所要求的内容。它将创建一个类,其中包含反映表中字段的属性。它将提供从数据库动态获取数据的方法,并允许您在应用程序中使用它。看看。@Nelson我现在就看一看,随时通知你!ObjigAdvices考虑将MyActs类扔进缓存中,并始终从那里访问它。因此,当您更新管理套件中的列表时,请更改缓存中的myActions对象-这将始终保存obj
public List<string> ActionList = List<string>();

public myActions(){
   //some code here to populate your list from the actions in your db
}