我有一个arraylist
ArrayList backupSpecList = new ArrayList();
结构:
public struct BackupSpecEntry
{
//for Multiple BACKUP_SPEC_EXCLUDE_PATHS
public string path;
public string inclExcl;
public byte inclExclFlags;
public bool indexContents;
public int serverBackupSpecId;
public int freq;
public int retention;
//for Multiple BACKUP_SPEC_EXCLUDE_FILE_NAMES
public BackupSpecEntry(string Path, string InclExcl, byte InclExclFlags, bool IndexContents,
int ServerBackupSpecId, int Freq, int Retention)
{
path = Path;
inclExcl = InclExcl;
inclExclFlags = InclExclFlags;
indexContents = IndexContents;
serverBackupSpecId = ServerBackupSpecId;
freq = Freq;
retention = Retention;
}
}
我把这个结构放在arraylist中并作为会话发送到下一页
Session["BackupSpecList"] = backupSpecList;
我在下一页上将其检索为
ArrayList jaja = (ArrayList)Session["BackupSpecList"];
这一切都发生得很完美,但我需要帮助将其放入数据库中。 有人可以指导我吗?感谢。
答案 0 :(得分:0)
假设您要使用结构的内容插入或更新数据库,那么ADO.NET是一个很好的起点。这是一个good tutorial,它将向您介绍读取,更新和插入SQL Server数据库的基础知识。还有官方MSDN site以获取更多深度信息。
答案 1 :(得分:0)
使用.NET 3.5,您可以选择使用Entity Framework或LINQ to SQL。我推荐后者为初学者。通过这种方式,您可以获得为您完成的所有数据库管道,您所要做的就是绑定并享受。请注意,您无需了解LINQ即可使用基础架构。
使用LINQ to SQL
的正常途径是首先创建数据库实体,然后让Visual Studio根据它们为您生成对象。在这里,您将创建一个BackupSpecEntry
表,并按照其中一个教程设置数据绑定到LINQ to SQL类:
我不保证上述文章的质量(ScottGu的除外)。我刚刚从搜索中快速选择它们,因为看起来合适。
要将自己的功能添加到生成的BackupSpecEntry
类,您可以从生成的类派生自己的类,或使用partial class。我建议尽可能使用部分类而不是继承,因为这就是Microsoft打算如何扩展生成的类。
答案 2 :(得分:0)
您需要的是一个数据持久层。在.NET中,访问存储在关系数据库管理系统(例如SQL Server)中的数据的最佳方法是ADO.NET。它提供了低水平的螺母和螺栓。
所有类型的数据持久层都在内部使用ADO.NET,但在其上提供抽象。
根据您的问题的措辞(您使用对象来表示应用程序数据)我建议您使用Data Mapper。这样的Data Mapper在您的对象和数据库之间进行映射。由于您可能使用RDBMS,因此您需要一个Object-Relational-Mapper(ORM)。
有几种选择。由于您使用的是.NET Framework 3.5,因此可以使用Microsoft提供的Linq-To-Sql或Entity-Framework,并且具有良好的IDE集成。其他选项是NHibernate等。这里有很多关于它的信息。