1.数据模型的Visio是这样的

2.至于实体模型的定义,可以在动态的上下文对象生成后,用反射来看一下

>>> ctx = DynamicContext.CreateDynamicContext(connStr)
>>> from System import *

>>> ut = Type.GetType("dboModel.User")

>>> for p in ut.GetProperties() : print "%s - %s" % (p.Name,p.PropertyType.FullName)
...
EntityKey - System.Data.EntityKey
RelationshipManager - System.Data.Objects.DataClasses.RelationshipManager
UserID - System.Int32
UserName - System.String
Password - System.String
EmailAddress - System.String
LastLogon - System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Posts - Microsoft.Jasper.Query

>>> pt = Type.GetType("dboModel.Post")

>>> for p in pt.GetProperties() : print "%s - %s" % (p.Name,p.PropertyType.FullName)
...
EntityKey - System.Data.EntityKey
RelationshipManager - System.Data.Objects.DataClasses.RelationshipManager
PostID - System.Int32
Title - System.String
Message - System.String
CreatedDate - System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
ModifiedDate - System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
User - dboModel.User

3. 对数据集合的操作

>>> for ps in ctx.Posts : print "%s - %s" % (ps.Title, ps.CreatedDate)
...
abc - 5/2/2007 9:46:29 AM
def - 5/2/2007 9:46:29 AM
>>> for ps in u.Posts : print "%s - %s" % (ps.Title, ps.CreatedDate)
...
abc - 5/2/2007 9:46:29 AM
def - 5/2/2007 9:46:29 AM
>>>

也可以这么做查询

>>> for ps in ctx.Posts.Select("it.Title,it.User.UserName"): print "%s - %s" % (ps.Title, ps.UserName)
...
abc - joel_cool
def - joel_cool

4. 要删除集合中的对象,应该在集合所在类的实例那里做

>>> u = ctx.Users.First()
>>> u.Posts.Count()
2
>>> p = u.Posts[0]
>>> u.Posts.Delete(p)
True
>>> ctx.Posts.Count()
1
>>> u.Posts.Count()
1
>>> ctx.SaveChanges()
2
>>> u.Posts.Count()
1
>>> ctx.Posts.Count()
1