您的位置:首页 > 移动开发

Some thoughts on my own O/R Mapping or Code Generation tools

2007-04-17 02:13 411 查看
Code tells:
Category
has_many Forums,
Name,
nSortOrder,

Forum
belongs_to Category,
has_many Users as Moderators,
has_many! Threads,
has_many Posts,
has_one? Post as LastPost : Last of Posts on tPostOn,
Name,
Description?,
nTopics,
nPosts,
tLastPostOn?,
LastPostAuthor?,
nSortOrder,
canRead,
canReply,
canTopic,

Thread
belongs_to Forum,
belongs_to User as Starter,
has_many! Posts,
has_one Post as LastPost : Last of Posts on tPostOn,
Subject,
tStartOn,
tLastReplyOn,
isLocked,
isSticky,

Post
has_one User as Author,
belongs_to Thread,
AuthorName,
AuthorIp?,
AuthorEmail?,
Message max,
isHidingSmilies,
tPostOn,
tEditOn?,
EditedBy?,

User
has_many! Threads,
has_many! Posts,
belongs_to UserGroup as Group,
external Id,
Name,
Phone : {PhoneNumber}
isUsingAvantar,
isUsingSignture,
Signature? 500,
nTopicsPerPage,
nPostsPerPage,
EmailSetting : EmailSettings (ShowEmail, HideEmailAllowForm, NoContact)
shouldShowSmilies,
shouldShowImages,
shouldShowImagesInSignature,
shouldShowSignatures,
ForumTheme,
nPosts,
tLastPostOn,

Lengends
has_many! = could be paged;
? = could be null,
external = user asigned primary key
FieldName = string (255)
nFieldName = int
tFieldName = datetime
can/is/shouldFieldName = bool
: {ClassName} = ClassName (IConvertiable)
: (A, B, C) = Enum
FieldName 500 = string with length<=500
: Last/First/Top 100 of Collection on orderBy = no explaination needed
has_***, belongs_to = not properties but method, lazy loaded for ever

version tracking:
+ for new field,
- for old field,
* for modified field, out dated line should not be deleted?

code generating:
both SQL and DAL, abstract BL(Entities included), skeleton for real BL

why my own?
I know what will happen.
I know what is doable.
I write mine faster than learning others.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: