Get your own free workspace
View
 

FrontPage

Page history last edited by dsimmons 3 years, 2 months ago

NOTE: This site is no longer accepting new members--things are basically in archive form now.

 

Welcome to the Entities Wiki!

 

What's this?

 

This is a Wiki site set up by some folks on the ADO.NET Entity Framework Team to get additional information on patterns and scenarios that people are currently using with general ORM stacks. This is not a forum for product feedback. If you would like to provide direct feedback on the Entity Framework and Entity Framework Design please use http://blogs.msdn.com/efdesign

 

What kinds of things should be added here?

 

  • We would like to collect patterns and scenarios.
  • For example, if you are using a particular coding pattern that you think is interesting in the context of EDM or EF you could add a page that describes the pattern and shows some sample code.
  • Similarly, if you have a particular application architecture and wanted to discuss the layering and abstractions you could share a diagram or some code that illustrates the concepts.
  • Another good idea would be to talk about particular scenarios that you think the version 1 of the EF does not address now and how you currently address the scenario... for example n-tier development. Understanding particular use cases or seeing how people implement the use case today would be great.

 

How will we use this?

 

The teams will look at this info and have dialogs with the community to help us have broader perspective beyond what we get through our traditional channels.

This information will also be used for deeper conversations with our Advisory Council and MVP's in candid discussions around the product direction and possible decisions.

 

What to avoid?

 

We don't want your projects, your IP or your frameworks. This should be a repository of patterns, scenarios and use cases.

 

Moderation?

 

We don't want heavy moderation of the wiki. We want people to weigh in and be candid about the patterns and concepts.

We will, however, remove discussions around particular product features in ADO.NET Entity Framework. Such topics should be directed to the MSDN forums or the EF Design blog.

 

Comments (27)

JulieLerman said

at 9:39 am on Jul 1, 2008

"What works for you and what works for me are equally valid."
hear hear!

Scott Bellware said

at 10:27 am on Jul 1, 2008

Julia,

Because we have equal emotional or intellectual reactions to the things that work for each of us respectively doesn't mean that those things have equal inherent value. They only have equal assigned value.

At some point, we've gotta do the grunt work of gaining deeper and broader experience in many and more approaches so that we can begin the long hard slog of trying to understand how to asses approaches based on their inherent and contextual merit.

Again, lest we forget than men fought and died to protect the idea that the Earth was at the center of the universe. There are indeed new ideas that are categorically superior and more mature than their predecessors even though a significant mass of people could not see and recognize the inherent merit at the outset.

Kathleen Dollard said

at 11:43 am on Jul 1, 2008

Scott,

Did you mean to say what it sounds like you said? Was your intention to say that the things that work for someone else do not have the same inherent value as things that work for you? Or did you mean something else?


(account deleted) said

at 1:09 pm on Jul 1, 2008

@Kathleen: I think he means that 'works' is relative and that just because something 'works' for Bob and something 'works' for Sussie doesn't mean they're both equally as effective. Perhaps Sussie's way actually saves more money or processes things in 1/2 the time.

Stephen Forte said

at 2:17 pm on Jul 1, 2008

This is my problem with Scott's comment. Who am I to judge what value your approach brings to you. You are not even in the ultimate position to do that, the business owners are. We forget that we are not at the center of the universe, the customer is.

Bob may have an elegant design and build a system to be uber flexible and easy to maintain. But he designs it for an industry where rapid change is not the norm. (I am thinking the US Postal Service.) His exact same solution may have been better for Facebook or a dynamic start-up.

Maybe Sussie's way takes longer but it is done according to corporate standards that stress security over speed of processing time or even cost. (A bank doing a batch transaction in the evening for example maybe.)

That is why I like the use case approach, we ought to bring in the ultimate value to the customer. They don't care if we use stored procedures, EF, writing to text files, or xm, etcl. As long as it meets their requirements (which may include flexibility, costs, etc).

(account deleted) said

at 2:22 pm on Jul 1, 2008

@Stephen But the point is, in most of these discussions Bob doesn't even know about Susie's way and doesn't really care. You're right, maybe Susie's way won't work in Bob's environment. But if Bob hasn't fully evaluated it and even argued a little on its behalf to the Powers That Be(tm) in his environment, how can he honestly say that Susie's way doesn't work?

My point and I think it's complementary to Scott's, is that there must be a focus on constant re-evaluation in the light of changing technology and processes. A focus on re-evaluation on tools without attention to the process those tools are aiding will not gain favorable results long-term. Both must be considered seriously.

Stephen Forte said

at 2:53 pm on Jul 1, 2008

Joseph Schumpeter in his 1942 book called Capitalism, Socialism and Democracy coined the phrase "creative destruction" to be a "process of industrial mutation that incessantly revolutionizes the economic structure from within, incessantly destroying the old one, incessantly creating a new one."

I fully subscribe to that theory, so we are in violent agreement.

That said, Scott's comment did not give me the warm and fuzzy. It sounded like he was comparing himself to Galileo and Julie to the Catholic Church that ex-communicated him. We need to understand each and every use case so we can help Microsoft make better design decisions. That's all.

Scott Bellware said

at 5:06 pm on Jul 1, 2008

Stephen,

I'm not comparing myself to Galileo or Julie to the church. I'm suggesting that the underlying human forces are the same: conservatism and progressivism. And to an extent in the .NET community - but not specific to myself and Julie - we are also seeing the some of the predictable friction between superstition and science that gathers around these kinds of contexts.

Scott Bellware said

at 5:38 pm on Jul 1, 2008

Kathleen,

> Was your intention to say that the things that work for someone else do not have the
> same inherent value as things that work for you? Or did you mean something else?

Software development practice is constantly evolving, and for the most part, software development is evolving faster outside of the .NET community as it is inside the .NET community.

There are engineering practices and perspectives that are present in the here and now that represent refinements and advancements in the art that take into consideration recent learning and experience, and that are superior to their predecessors. This is a trend expressed by every human technology throughout all of human history.

If you accept this, then we have to look at the practices themselves and understand what might make one inherently superior to another, and understand also that our own human predispositions dictate how readily we can make transitions to evolutions in paradigms, and how readily we can see the value.

Choices of engineering approach aren't merely a matter of personal preference and aren't merely a matter of repeating what we've done in the past. It's not always a matter of merely what works for me and what works for someone else. These are issues of technical rigor that should be assessed as rigors of technical rigor, with commitment to learning, exploration, experimentation, and practice.

There are always elements of personal choice and style within a practice set, but there are also issues of contemporaneity and relevancy in play as well.

I'm flatly and boldly asserting that based on my observation of the .NET community's predisposition to only innovate in relative lockstep with Microsoft, that it is not recognizing the advantages to more contemporary approaches to software development and software industrial theory, and that this stasis is also effecting it's ability to even perceive these approaches.

Scott Bellware said

at 6:00 pm on Jul 1, 2008

So, when I see statements like "What works for you and what works for me are equally valid. hear hear!" I can see they can only be true within certain contexts.

What works for me and what works for someone else is equally valid when I think of this issue from a purely human perspective, understanding that each person is entitled to their opinion. But evaluating different approaches based on technical merit and rigor can prove that approaches aren't equally valid at all.

For example, I don't believe the trepanning is a valid counter measure for depression, although I have a friend who suffers from depression who recently went to an underground clinic in Mexico to have a hole bored into her skull as a last ditch effort to release the demons that plague her mind.

I understand that this is an egregious example, but what might not be visible to many mainstream .NET folks is that the advances made in .NET software development practice represented by the ALT.NET community as a concerted five year effort to move the .NET engineering ball forward by synthesizing practices from the .NET community, the Java community, the Ruby community, and the Agile community, among others, have produced rather egregious divergence in practice, experience, and mindset.

We are all entitled to our preferences, but sometimes our preferences can be fed by conservative superstition rather than technical and scientific rigor, and when this is the case, we need to dig deeper and invest more of our time in exploring those practices which we have not yet been immersed in.

Bill McCarthy said

at 8:50 pm on Jul 1, 2008

But doesn't this really all come down to what works ? As Scott puts it, after 5 years of involvement in alt.net, the outcome is an "egregious divergence in practice". I'm not sure I really equate that as to what works, more it seems the inverse. If I'm led to believe it actually requires more work (or perhaps that was meant to mean more argument) then I don't see the value. What amazes me is the claim that working "lockstep with Microsoft" is somehow bad, especially when we are here for that very purpose. To say or imply .NET has not evolved at a very rapid pace, providing real solutions and taking form the broader developer community is also nonsensical and seems to be an attempt to re-write living .

I say *ENOUGH* of this nonsense and chest beating. Focus on features, focus on concepts not religions. The goal should NOT be to further fester an "egregious divergence", but rather the enlightenment of respect for a diverse set of needs, desires and expectations. There in lays the real challenge, and starting off by claiming that one particular view of one particular religion is the wrong way to start.

Let's focus on what works.

Bill McCarthy said

at 8:53 pm on Jul 1, 2008

That shoudl have read:
To say or imply .NET has not evolved at a very rapid pace, providing real solutions and taking from the broader developer community is also nonsensical and seems to be an attempt to re-write living history.

and:
There in lays the real challenge, and starting off by claiming that one particular view of one particular religion is the only way is in fact the wrong way to start.

Scott Bellware said

at 10:41 pm on Jul 1, 2008

Bill,

> But doesn't this really all come down to what works ? As Scott puts it, after 5 years
> of involvement in alt.net, the outcome is an "egregious divergence in practice".
> I'm not sure I really equate that as to what works, more it seems the inverse.

Continuous improvement is alt.net's central force. It's not about "what works"; we take for granted that stuff will work. It's about "what works better", and either continually or radically improving our practices and tools while simultaneously sustaining work.

> If I'm led to believe it actually requires more work (or perhaps that was meant to
> mean more argument) then I don't see the value.

Between [doing work] and [doing work + continually studying and improving], just doing work is going to be less work. Obviously, continually improving makes work better, and makes the outcomes better.

> What amazes me is the claim that working "lockstep with Microsoft" is
> somehow bad, especially when we are here for that very purpose

It's not inherently bad. It's contextually bad since Microsoft can't consistently innovate at the pace of a more nimble, open, co-creating, peer-production community.

> To say or imply .NET has not evolved at a very rapid pace, providing real solutions
> and taking from the broader developer community is also nonsensical and seems
> to be an attempt to re-write living history.

I've been part of the community that Microsoft has consistently borrowed ideas from in the past half decade. It has taken Microsoft much longer to understand the significance of the innovations it borrows, and even when it does borrow from the more innovative community, it spends very little time understanding the usage contexts and scenarios, applies a naive bias to analysis, and designs and produces a lessor product.

Microsoft may seem to be evolving rapidly compared to itself in it own past, but not as compared to the innovators that it borrows from with increasing frequency.

Scott Bellware said

at 10:41 pm on Jul 1, 2008

[continuation]

> I say *ENOUGH* of this nonsense and chest beating. Focus on features, focus on concepts not religions

Fair enough, with respect to your opinion, but please don't issue edicts to shut down dialog because you personally aren't getting anything from it.

Maligning the context of this conversation by labeling it religion disrespects the spirit of collegial debate even if it becomes heated and argumentative.

> The goal should NOT be to further fester an "egregious divergence", but rather
> the enlightenment of respect for a diverse set of needs, desires and expectations.

We should neither foster them nor deny them if they are the natural outcome of the practices of divergent communities.

> There in lays the real challenge, and starting off by claiming that one particular
> view of one particular religion is the only way is in fact the wrong way to start.

That presumes that we're speaking about technologies or approaches that have been developing in parallel along the same timeline and at the same pace. That's not the context of this conversation.

Having walked the walk of all of the technologies in question along a twenty year timeline, I can assert from my experience that we're not talking about peer technologies, but two species of approaches, mindsets, and sciences that represent two progessive generations of evolution and development that happen to live together in this timeline during a transition from one evolutionary stage to the next.

Bill McCarthy said

at 11:56 pm on Jul 1, 2008

|
|Continuous improvement is alt.net's central force.


I'm really not sure why that's even relevant here. Sounds religious.

|
|It's not about "what
|works"; we take for granted that stuff will work.
| It's about "what works
|better",


Of course, that's the case for everyone. I would have thought that "better" is implied in the "what works for me".


|and either continually or radically improving our practices and
|tools while simultaneously sustaining work.
|


Radical improvement often means upheaval and change that results in a lot of costs. Sure it's fun to try out new ideas, then come back and try something else, but that is different from the basis of getting the job done.



|> If I'm led to believe it actually requires more work (or perhaps that
|was meant to
|> mean more argument) then I don't see the value.
|
|Between [doing work] and [doing work + continually studying and
|improving], just doing work is going to be less work. Obviously,
|continually improving makes work better, and makes the outcomes better.
|


I think you misunderstood what I was referring to. If the complexity or upfront costs are high, then it takes a long time for that to pay back. In a world of continuous change, that becomes even more so risky.



|> What amazes me is the claim that working "lockstep with Microsoft" is
|> somehow bad, especially when we are here for that very purpose
|
|It's not inherently bad. It's contextually bad since Microsoft can't
|consistently innovate at the pace of a more nimble, open, co-creating,
|peer-production community.
|


And the point of that comment in relation to here is what exactly ? Really ??

To me it comes across like some religious argument, and if we take it at its face value, then there is no point anyone providing feedback because Microsoft can't innovate quick enough anyway. It is just an example of the pointless hostile chest beating I was referring to.

Bill McCarthy said

at 11:56 pm on Jul 1, 2008

[continued]
|> To say or imply .NET has not evolved at a very rapid pace, providing
|real solutions
|> and taking from the broader developer community is also nonsensical
|and seems
|> to be an attempt to re-write living history.
|
|I've been part of the community that Microsoft has consistently borrowed
|ideas from in the past half decade.


Okay so now you do acknowledge that Microsoft does take from the wider pool of development. Good, that's better than the rhetoric we had before. In fact there's been some truly brilliant work that has come out of Microsoft Research, as well as work they have build upon from foundations outside of Microsoft. But again, I hardly see the point in this line of discussion other than religion or chest beating, do you ?


|It has taken Microsoft much longer
|to understand the significance of the innovations it borrows, and even
|when it does borrow from the more innovative community, it spends very
|little time understanding the usage contexts and scenarios, applies a
|naive bias to analysis, and designs and produces a lessor product.
|

Well set up your own company then and produce something better. If you can see a huge gap there, what are you waiting for ?



|Microsoft may seem to be evolving rapidly compared to itself in it own
|past, but not as compared to the innovators that it borrows from with
|increasing frequency.
|


Non sequitur. But more to the point, again this is the kind of religion/chest beating I was referring to. It goes nowhere other than a claim of self importance.

Bill McCarthy said

at 11:56 pm on Jul 1, 2008

[continued]
|
|> I say *ENOUGH* of this nonsense and chest beating. Focus on features,
|focus on concepts not religions
|
|Fair enough, with respect to your opinion, but please don't issue edicts
|to shut down dialog because you personally aren't getting anything from
|it.
|
|Maligning the context of this conversation by labeling it religion
|disrespects the spirit of collegial debate even if it becomes heated and
|argumentative.
|


See above. The conversation has very much been maligning. I'm saying move away from that and focus on features and concepts.



|> The goal should NOT be to further fester an "egregious divergence",
|but rather
|> the enlightenment of respect for a diverse set of needs, desires and
|expectations.
|
|We should neither foster them nor deny them if they are the natural
|outcome of the practices of divergent communities.
|


I disagree. We should indeed foster " respect for a diverse set of needs, desires and expectations."




|> There in lays the real challenge, and starting off by claiming that
|one particular
|> view of one particular religion is the only way is in fact the wrong
|way to start.
|
|That presumes that we're speaking about technologies or approaches that
|have been developing in parallel along the same timeline and at the same
|pace. That's not the context of this conversation.
|
|Having walked the walk of all of the technologies in question along a
|twenty year timeline, I can assert from my experience that we're not
|talking about peer technologies, but two species of approaches,
|mindsets, and sciences that represent two progessive generations of
|evolution and development that happen to live together in this timeline
|during a transition from one evolutionary stage to the next.
|


Sure that is your perspective and that's okay, but not when it surfaces as disrespect to the rest of the diverse community.

Kathleen Dollard said

at 5:52 am on Jul 2, 2008

Let me clarify something…
When I say that all the ideas here have equal merit, it is not a soccer mom, let everybody win comment.

Ideas have equal merit for discussion, at least in this venue where the authors have paid their dues (as I understand it and it would be unfortunate if that were to change). They do not have equal merit for implementation. But the merit they have for implementation depends on many things, especially the context of project and environment and has to be evaluated in terms of fluffy qualitative error bars. Science and rigor perhaps deserve their own page. We cannot judge that when an idea is put out, we do need some respect and trust in the other people on this list so we can clarify and expand and disagree without ripping down.

To begin a conversation with a premise that some ideas have more merit than others shuts down ideas. That is the antipattern here in this venue. In addition to that, a framework that encourages debate gives power to good debaters over good ideas.

Why Stephen or I use Select stored procs is an important thing to discuss. Shutting down that discussion before it starts because they are not in vogue in certain circles reduces the value of this forum to zero. If that’s what is going to happen – if it is to become a forum for a set of people with a preconceived baseline set of ideas (particularly the use of NHibernate) to debate nuances. Then it’s a waste of my time.

FWIW, I’ve had several people whose ideas I respect tell me that they are unlikely to post here because the tone of this group. If we can’t fix that and fix it now, we are trapped in a sandbox throwing sand and I have more important things to do.

Bill McCarthy said

at 6:07 am on Jul 2, 2008


Hi Kathleen,
|
|To begin a conversation with a premise that some ideas have more merit
|than others shuts down ideas. That is the antipattern here in this
|venue. In addition to that, a framework that encourages debate gives
|power to good debaters over good ideas.
|

I'd go further than that and say that inputs of a diverse group are crucial. The goal is to provide a solution to a wide group of developers each with differing needs and desires.


|Why Stephen or I use Select stored procs is an important thing to
|discuss. Shutting down that discussion before it starts because they are
|not in vogue in certain circles reduces the value of this forum to zero.


I'd love to hear that. Methodologies ?

BTW: Off the top of my head I'm thinking of a lot of good reasons especially around temp tables.



|If that’s what is going to happen – if it is to become a forum for a set
|of people with a preconceived baseline set of ideas (particularly the
|use of NHibernate) to debate nuances. Then it’s a waste of my time.
|
|FWIW, I’ve had several people whose ideas I respect tell me that they
|are unlikely to post here because the tone of this group. If we can’t
|fix that and fix it now, we are trapped in a sandbox throwing sand and I
|have more important things to do.
|


Hear hear !!

(account deleted) said

at 6:58 am on Jul 2, 2008

@Kathleen: Your repeated attempts to paint us as mean people trying to shut down debate is not a good debate tactic and it does you a great disservice. Please stop appealing to emotion and stick to the facts.

No one is trying to stifle debate. No one is trying to shut down ideas. On the contrary, there is a concerted attempt to play a 'Leave us alone, we're perfectly happy in our own little world' card and ignore the rest of the wide world around. We're trying to get people to agree that 'works' is relative and not all 'working' solutions are equal. Some 'work' to a greater degree of success.

No one talks about ideas or concepts, we're talking solely about concrete implementations. System A was built using Methodology B and succeeded with success factor 75. System B was built using Methodology A and succeeded with success factor 400.

Did both work? Yes! Are both valid? Yes! Is one better for the customer (where better = cost less, produces more value, had more features added during the same amount of time as the other system) Yes!

Not all 'working' systems are successful to the same degree.

Kathleen, Julie, Stephen: Is it possible that maybe, just maybe, there is something better than Select stored procedures for creating a better working solution? WAIT WAIT... I'm not suggesting NHibernate, I"m not suggesting EF, I'm just wanting to make sure that we're not completely not even on the same page, but not even reading the same book.

jdn said

at 8:11 am on Jul 2, 2008

Continuous change != continuous improvement. There's an assumption by some within alt.net that these are the same. It is certainly true that there is a lot of churn, and it is certainly hoped that improvement comes out of it, but sometimes I think the change amounts to a change in fashion.

Acting as if alt.net is practicing scientific or techical rigor whilst other ways are conservative superstition is humorous to read, but inaccurate.

Kathleen Dollard said

at 8:47 am on Jul 2, 2008

I hope your still around. I think the withdrawal of people is unfortunate.

We cannot have a comparative "success factor" because we have different priorities.

If we squash ideas before they mature we achieve stasis quickly. There is no timeline for maturation. Success is something to consider, but in no way the only thing to consider.

Let’s talk about stored procs in another page. I don’t want to drop that, but I’d also like to ensure I’m not the only voice in that conversation. Not because I need backup, but because I do not know what Stephen’s position on anything except perhaps scotch is.

Bill McCarthy said

at 8:53 am on Jul 2, 2008

Hey Chad,

Different folks may indeed be on different pages, but we shouldn't go discrediting folks from the get go by referring to anything we differ with as being "fed by conservative superstition" or other such nonsense. I think rather than imply folks don't get it, it's a lot more constructive to start explaining the details rather than criticize the people who aren't on the same page of something that hasn't even been said ;)

Personally I'd love to hear the alternatives to using a select stored proc when I'm using a temp table.

Troy DeMonbreun said

at 9:14 am on Jul 2, 2008

I like to think of the intention or mission statement of ALT.NET (different than ALT.NET as an aggregate of personalities and specific opinions) as a great academic thought exercise. Many of the discussions topics that ALT.NET has helped to make more public or helped to increase awareness of, are the type of topics that I wish were addressed and argued more often.

Even though the negative emotions, aggression, bigotry, narcissism, etc. can -- and often do -- bleed through (with unfortunately, the perodic hemorrhaging of the aforementioned elements), overall, I think that such debates have and will help the discovery and adoption/co-option of many good technologies, methodologies, concepts, etc. into the .NET community's conscious.

JulieLerman said

at 10:45 am on Jul 2, 2008

I don't know how I started this on the front page. I did create this post in reponse to another thread. Can it be moved?

Troy DeMonbreun said

at 2:02 pm on Jul 2, 2008

Apparently, Scott Bellware is no longer a user at this wiki. Since you two basically started the thread, it sounds reasonable to move it. Unless, by "can it be moved" you meant from a technical pbwiki aspect.

Colin Jack said

at 2:40 pm on Jul 2, 2008

Moving it sounds reasonable, to be honest if I came to a Wiki and found this on the front page I think I might just move on to somewhere else.

You don't have permission to comment on this page.