我是db4o的新手,也是c#的新手,我真的很难理解如何开始使用它--提供的教程对我帮助不大--我理解它的要旨,但我很难理解把基本代码放在哪里,例如
using(IObjectContainer db = Db4oEmbedded.OpenFile(YapFileName))
{
//do something with db4o
}我确信这是由于我缺乏c#知识,但如果有人能为我指明正确的方向(甚至是一个包含完整示例的像样的教程,这样我就可以看到一个实现了db4o的项目),那就太好了:)
我有web开发背景,所以数据库的想法没有问题,但由于某些原因,我似乎不能完全理解c#的“做事方式”。
发布于 2011-07-20 09:16:04
这真的取决于你想要构建的是什么。您只是在测试数据库,还是您有一个正在尝试构建的特定项目/程序?访问数据库的方式应该与其他项目的方式相同。
例如,如果您使用数据库来存储员工,并且希望返回姓氏为"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个月了……虽然我想再试一次)。
希望这能在某种程度上有所帮助。我不确定这是不是你要找的。
https://stackoverflow.com/questions/6755857
复制相似问题