DB ORM
Robert Clipsham
robert at octarineparrot.com
Tue Aug 9 12:15:42 PDT 2011
On 09/08/2011 08:30, Jonas Drewsen wrote:
> Just stumbled upon this db orm for c++ that uses the gcc frontend to
> rewrite c++ code to make classes suitable for database access.
>
> http://www.codesynthesis.com/products/odb/
>
> They are using pragmas to accomplish this. I guess an equally good
> implementation in D would use custom attributes for this once (if) they
> are supported.
>
> /Jonas
How ugly! My (far from complete, but good enough to demonstrate what D
can do) ORM is far simpler than that:
https://github.com/mrmonday/serenity (actually a web framework, includes
an incomplete ORM)
----
struct Post
{
ulong id;
DateTime dt;
string title;
string content;
}
Persister!Post posts;
// Append a post
posts ~= Post(0, someDateTime, "A title", "Some content");
foreach (post; posts[0..5])
{
// Iterate over the first 5 posts
}
post[3] = posts[2];
----
All SQL is generated at compile time, and the backend database is called
directly - that's less overhead than you'd get from a typical scripting
language accessing a database directly (no need to convert between types
first).
--
Robert
http://octarineparrot.com/
More information about the Digitalmars-d
mailing list