Έχουν δημοσιευτεί
Παρασκευή, 4 Αυγούστου 2006 10:07 μμ
από το μέλος
PALLADIN
Όσους τους εκνευρίζει το διαρκές Ο/R mapping και θέλουν κάτι πιο "natural" για τα CLR objects τους, τότε ας κοιτάξουν την db4ο(DataBase for Objects). Επαγγελματικά την χρησιμοποιώ εδώ και ένα χρόνο και έχω πιστεί για την αποτελεσματικοτητα της. Αυτό που ανακάλυψα είναι ότι με την db4o μπορώ να είμαι όσο Agile επιθυμώ. Συγκεκριμένα στο project που δουλεύω το refactoring στο Object Model μου έχει γίνει απόλαυση.
Βεβαια σε καμια περίπτωση δεν πρόκειται να αντικαταστήσει ένα enterprise strength RDBMS. Απλά σε μερικά projects(real time systems, mobile apps και μερικά αλλα...) η db4o μπορεί να κάνει την διαφορα σε performance και το σημαντικότερο σε productivity.
Και κάτι τελευταίο... μέχρι να έχουμε επίσημα στα χερια μας το LINQ η db4o μας προσφέρει κάτι αντίστοιχο(στο περίπου) και το λέει Native Queries.
Ένα πολύ πολύ απλό παράδειγμα για μια πρώτη γεύση.
public class Person
{
private string name;
private int age;
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
public string Name
{
set { this.name = value; }
get { return this.name; }
}
public int Age
{
set { this.age = value; }
get { return this.age; }
}
public override string ToString()
{
return String.Format("{0}, {1}", this.name, this.age);
}
}
static void Main(string[] args)
{
ObjectContainer db = Db4o.OpenFile("test.yap" );
db.Set(new Person("Nick Palladinos", 27));
db.Set(new Person("George Palladinos", 20));
IList<Person> personList = db.Query<Person>(delegate(Person person)
{
return person.Name.Contains("Palladinos");
});
foreach (Person person in personList)
{
Console.WriteLine(person);
}
db.Close();
}