Основные проблемы с db4o

Я очень новичок в db4o и С # в целом, и у меня серьезные проблемы с тем, чтобы понять, как начать его использовать - предоставленное руководство мне не очень помогает - я понимаю его суть, но у меня проблемы понимание того, где разместить базовый код, например

using(IObjectContainer db = Db4oEmbedded.OpenFile(YapFileName))
{
   //do something with db4o
}

Я уверен, что это связано с тем, что я не знаю C #, но если бы кто-нибудь мог указать мне правильное направление (даже достойный учебник с полными примерами, чтобы я мог увидеть проект с реализованным db4o), это было бы здорово :)

Я имею опыт веб-разработки, поэтому идея базы данных не проблема, но по какой-то причине я не могу полностью понять, как работает С #.


person E Steven    schedule 20.07.2011    source источник


Ответы (1)


На самом деле все сводится к тому, что вы пытаетесь построить. Вы просто играете, чтобы протестировать базу данных, или у вас есть конкретный проект / программа, которую вы пытаетесь создать? Доступ к базе данных должен рассматриваться так же, как и любой другой проект.

Например, если вы используете базу данных для хранения сотрудников и хотите вернуть всех сотрудников с фамилией «Смит», вы можете сделать что-то вроде этого (очень простой пример и плохой дизайн ... просто пытаюсь показать куда пойдет код, чтобы все заработало):

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 месяцев с тех пор, как я последний раз прикасался к нему ... хотя я хотел бы попробовать его снова).

Надеюсь, это каким-то образом поможет. Я не уверен, что это то, что вы искали.

person Jason Down    schedule 20.07.2011
comment
Хорошо, да, в основном я разбираю все эти новые концепции (C #, что-то кроме MySQL и т. Д.). Большое спасибо, ваше объяснение делает это для меня намного яснее :) - person E Steven; 20.07.2011
comment
@E Стивен: Нет проблем. Ваш вопрос снова вызвал у меня интерес к db4o, так что спасибо! - person Jason Down; 20.07.2011