我对 db4o 和 C# 总体上非常陌生,并且很难弄清楚如何开始使用它 - 提供的教程对我帮助不大 - 我理解它的要点,但遇到了麻烦了解在哪里放置基本代码,例如
using(IObjectContainer db = Db4oEmbedded.OpenFile(YapFileName))
{
//do something with db4o
}
我确定这归结于我缺乏 c# 知识,但是如果有人能指出我正确的方向(即使是一个带有完整示例的体面教程,所以我可以看到一个实现了 db4o 的项目),那就太好了
我来自 web 开发背景,所以数据库的想法是没有问题的,但由于某种原因,我似乎无法完全理解 c# 的“做事方式”
最佳答案
这真的归结为您要构建的内容。您只是在测试数据库还是在尝试构建特定的项目/程序?访问数据库应与任何其他项目对待它的方式相同。
例如,如果您正在使用数据库来存储员工,并且您希望返回姓氏为“Smith”的所有员工,您可以这样做(非常基本的示例,而不是好的设计......只是试图展示代码会在哪里去开始工作):
public class Employee
{
public FirstName { get; set; }
public LastName { get; set; }
public Employee(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}
public static class EmployeeFactory
{
public static IEnumerable<Employee> GetEmployeesNamedSmith(IObjectContainer db)
{
var employees = from Employee e in db
where e.LastName.Equals("Smith")
select e;
foreach (var emp in employees)
{
yield return emp;
}
}
}
在您的主应用程序中,您可能有以下内容:
public static void Main()
{
var config = Db4oEmbedded.NewConfiguration();
// code to create and add employees goes here.
// access employees that have Smith as the last name
using (var db = Db4oEmbedded.OpenFile(config, "database.db4o"))
{
foreach (var e in EmployeeFactory.GetEmployeesNamedSmith(db))
{
Console.WriteLine(e.FirstName + " " + e.LastName);
}
}
}
免责声明:我没有尝试编译这段代码,只涉足过 db4o(距离我上次接触它已经有大约 6 个月了……尽管我想再试一次)。
希望这在某种程度上有所帮助。我不确定这是否是你要找的。
关于c# - 基本的 db4o 问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6755857/