Oddities in Linq-to-SQL generated code related to property change/changing events
Posted
by Lasse V. Karlsen
on Stack Overflow
See other posts from Stack Overflow
or by Lasse V. Karlsen
Published on 2010-06-03T20:28:13Z
Indexed on
2010/06/03
20:34 UTC
Read the original article
Hit count: 203
I'm working on creating my own Linq-to-Sql generated classes in order to learn the concepts behind it all.
I have some questions, if anyone knows the answer to one or more of these I'd be much obliged.
The code below, and thus the questions, are from looking at code generated by creating a .DBML file in the Visual Studio 2010 designer, and inspecting the .Designer.cs
file afterwards.
1. Why is INotifyPropertyChanging not passing the property name
The event raising method is defined like this:
protected virtual void SendPropertyChanging()
Why isn't the name of the property that is changing passed to the event here? It is defined to be part of the EventArgs descendant that is passed to the event handler, but the method only passes an empty such value to it.
2. Why are the EntitySet<X>
attach/detach methods not raising property changed?
For an EntitySet<X>
reference, the following two methods are generated:
private void attach_EmailAddress1s(EmailAddress1 entity)
{
this.SendPropertyChanging();
entity.Person1 = this;
}
private void detach_EmailAddress1s(EmailAddress1 entity)
{
this.SendPropertyChanging();
entity.Person1 = null;
}
Why isn't SendPropertyChanged
also called here?
I'm sure I have more questions later, but for now these will suffice :)
© Stack Overflow or respective owner