惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园 - 司徒正美
美团技术团队
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Troy Hunt's Blog
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
B
Blog
NISL@THU
NISL@THU
月光博客
月光博客
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
L
Lohrmann on Cybersecurity
The Cloudflare Blog
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
S
Secure Thoughts
Spread Privacy
Spread Privacy
有赞技术团队
有赞技术团队
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
H
Hacker News: Front Page
S
SegmentFault 最新的问题
Schneier on Security
Schneier on Security
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
博客园 - 三生石上(FineUI控件)
Forbes - Security
Forbes - Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
W
WeLiveSecurity
小众软件
小众软件
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

博客园 - 破甲

转:Chrome调试工具介绍 转:一组jQuery插件的连接 动态的链式传递执行 关于导出属性 Aop中动态横切与静态横切 老张的灵魂——敏捷回顾 LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)-ccBoy版 ---阅读笔记 linq to sql 与linq to entities的选择 linq to sql 算ORM吗? 匿名方法实现(转) System.Linq扩张方法Where (Lambda表达式) Oracle的并发多版本 读一致性 共享锁 排他锁 LING与HQL(三) LINQ与HQL (二) LINQ 与 HQL (一) C# 3.0的新特性(一) 挖掘ADO.NET Entity框架的性能 HQL查询中的几个函数
castle ar 的update方法!!
破甲 · 2007-08-10 · via 博客园 - 破甲

有这么一个领域类
 public class Task    {
        private Project project;
        /// <summary>
        /// 项目
        /// int
        /// </summary>
        [BelongsTo("Project")]
        public Project Project
        {
            get { return project; }
            set { project = value; }
        }
        private IList childrens;
        [HasMany(typeof(Task), Table = "Task", ColumnKey = "ParentTask")]
        public IList Childrens
        {
            get { return childrens; }
            set { childrens = value; }
        }
        private Task parentTask;
        /// <summary>
        /// 父任务
        /// </summary>
        [BelongsTo("ParentTask")]
        public Task ParentTask
        {
            get { return parentTask; }
            set { parentTask = value; }
        }
       private IList members;
        [HasMany(typeof(Member), Table = "Member", ColumnKey = "Task")]
        public IList Members
        {
            get { return members; }
            set { members= value; }
        }

}
这里我关注 private IList childrens;,,就是因为有这样一个关系存在,当Task在做更新(update)时候,除了发生本身的一个update外,,还会根据此关系发生'UPDATE Task SET ParentTask = null WHERE ParentTask = @p0', N'@p0 int', @p0 = 327681,,,这是因为task与自己的子task有一对多关系!!!

以上是主外键在一个表时,,当主外在不同表中时,,比如上面的一个任务对应多个成员时,在更新任务后,也会紧紧跟一句生'UPDATE Member SET Task = null WHERE Task = @p0', N'@p0 int', @p0 = 327643,

==================
注意:
但是对于外键所在对象做更新时候,,,只更新自己,与其他对象不在发生任何联系