January 31, 2010 oslofeaturedcontent

What’s New in EF4.0

Soma has posted a lovely description of what’s new in the Entity Framework for .NET 4.0, including:

  • Foreign Key support so you can add a row without requiring you to download an object just to get the foreign key.
  • Lazy Loading support so as you traverse a property that is a collection, the data is pulled on demand.
  • Plain Old CLR Object support (POCO) so that you can build your own classes and have EF serialize those instead of generating new classes.
  • T4-based Code Generation in case you do want classes generated but want to control the code.
  • Data binding support for WPF and WinForms.
  • WCF support with serialization attribute generation.
  • Much better SQL generation so that you can read it better when you need what’s going on over the wire and so that it’s more efficient.
  • Much better support for complex return values from stored procedures.

That Soma really knows his stuff! Check it out.

January 24, 2010 oslofeaturedcontent

LINQPad updated to support .NET 4.0b2!

I’m such a fan of LINQPad you don’t even know. Recently Joe updated it to support Data Services and as of today, if you scroll down to the bottom of the LINQPad download page, it’s been updated to support .NET 4.0 beta 2, which means that you can point it at Data Services constructed with .NET 4.0. This makes my heart sing. Also, if you haven’t spent the $29 to get the auto-completion, it’s totally worth it. Highly recommended. Thanks, Joe!
January 20, 2010 oslofeaturedcontent

Comparing NHibernate and EF4

This is a nice piece comparing NHibernate and EF4. Personally, I’m an EF4 fan, but I’m hardly unbiased and there are definitely features I want to see added to EF v.Next. Either way, it’s clear that EF4 is garnering much more appreciation from the community than previous versions and that’s because you let us know what you wanted and we added it. Keep those cards and letters coming!
January 1, 2010 book

Programming Data: .NET, SQL Server and You

Welcome to the home page for my new book.

Table of Contents

  • Part 1: Data Access

    • Chapter 1: Hello, Data
    • Chapter 2: Entity Framework: Entities
    • Chapter 3: The Entity Data Model: Entities
    • Chapter 4: The Entity Data Model: Associations, Functions and Views
    • Chapter 5: The Open Data Protocol
    • Chapter 6: Deployment
  • Part 2: Business Intelligence

    • Chapter 7: Hello, Business Intelligence
    • Chapter 8: Integration Services
    • Chapter 9: Reporting Services
    • Chapter 10: Analysis Services
  • Appendices

    • Appendix A: Security
    • Appendix B: Synchronization
    • Appendix C: Streaming (with Stream Insight)
December 20, 2009 spout

Stead Defines ‘Customer’

And here’s one more from the paper file I’m putting into electronic format to reduce the pile of papers in my life:

During the all-associate broadcast, Jerre Stead shared with the team a memo another associate had sent about defining a customer. Here are the highlights:

  • Customers are individual companies with unique needs.
  • Customers are struggling with their competitors for success.
  • Customers are people with feelings and opinions, therefore relationships and experiences matter.
  • Customers will judge us by our performance, not by our words.
  • Customers are influenced by every contact with us, each and every day.

Customer Must Not’s”

  • We must not import our products or ideas on customers.
  • We must not ask customers to deal with people who cannot make decisions.
  • We must not make customers wrestle with our bureaucracy.
  • We must not allow any question, issue or awkwardness go unattended or unresolved.
  • We must never unpleasantly surprise our customer.
  • We must never, never take a customer for granted.

Customer Can’s”

  • We can help the customer succeed - make our customers winners.
  • We can provide greater value to our customers than our competitors can.
  • We can measure ourselves from the viewpoint of our customers.
  • We can put decision-making close to our customers.
  • We can continuously improve to better serve our customers.
December 20, 2009

The Most Effective Words To Use With Customers

Fred Gleeck had this to say about what not to say to customers and what to say instead:

There’s a right way and a wrong way to talk to callers. Even about the simplest matters. And make no mistake: Talking the wrong way can turn a loyal customer into an annoyed ex-customer. I have a name for talking the right way: PosiTalk (tm).

PosiTalk is an attitude. It shows you’re concerned. Professional. Helpful. And, while it sometimes requires a few extra words, it can make a big difference. below you’ll find some common negative phrases, and the PosiTalk alternatives. Post them. Use them. And speak the language that keeps customers calling. After all… they pay the bills!

Negative: She/He is out to lunch…
PosiTalk: She/He isn’t available at the moment. May I take a message.

Negative: I can’t do that…
PosiTalk: Here’s what we can do.

Negative: Hold on a minute…
PosiTalk: Could you hold a moment, please?

Negative: That’s company policy…
PosiTalk: The way we’d normally handle that is…

Negative: I don’t know…
PosiTalk: I don’t have the answer to that. If you’ll hold a moment, I’d be happy to find out.

Negative: Huh? (or: What?)
PosiTalk: Pardon me?

Negative: He/She is no longer with us…
PosiTalk: He/She has accepted another position, but his/her calls are now being taken by…

Negative: She/He is busy bow…
PosiTalk: She/He’s not available at the moment. How can I help you?

December 20, 2009 spout

How To Handle Angry Callers in 7 Not-So-Easy Steps

When I was first in technical phone support for the software I was building, I found out that I wasn’t exactly a… um… natural” at putting customers at ease. I used the following information from an AT&T magazine (I was working for a AT&T VAR at the time) in the fall of 1992 to start my education:

  1. Don’t react. Stay calm. When confronted with an irate caller, everyone has the urge to return fire. But don’t fight back. And don’t take it personally, or you’ll become an emotional basket case. Keep relaxed by breathing deeply. And remind yourself that this discussion will not change the destiny of mankind.
  2. Let them vent. Remember, you simply cannot get customers to deal with the logic of a situation until you’ve dealt with their emotions. Trying to attack the problem before people have fully vented their anger or disappointment just won’t work.
  3. Defusing the anger. When a tirade is winding down, try asking - sincerely - Is there anything else?” By this point, they’re usually exhausted and willing to talk. If you hear profanity, try saying: I know the words you’re using right now aren’t directed at me personally.” If the caller replies, Oh yes they are!” you’re no worse off than you were. But generally they’ll apologize, realizing it’s not your fault. At which point, a real dialogue can begin.
  4. What do they want? Once they’ve calmed down, that’s the time to find out what they want: Money back? A defective part replaced? Find out quickly to determine whether you can solve the problem on the spot.
  5. What can they have. Once you’ve figured out what they want, what can you do? This will be set by bounds of your company’s policies - such as warranties or guarantees - as well as any flexibility that management may give you (which should be clearly spelled out).
  6. Customer solutions. Sometimes, the best solution you can deliver is one the customer suggests. And, surprisingly, it can end up being less than what you yourself were willing to offer. Recently, at a major department store, a customer wanted a discounting an imperfect blouse. The cashier was willing to take 35% off the marked price, but first asked the woman what discount she wanted. The answer: 20% off. Of course, some customers will make outrageous demands. In that case, ask them what they’d consider to be a fair solution.” Instead of confronting the customer, this reply opens up the discussion to a more equitable resolution.
  7. Follow up. Don’t make an angry customer even angrier by not doing what you said you’d do. When a promise is made, keep following up internally to be certain that what was promised has been implemented. Even if that means making a minor pest of yourself!

Fred Gleek

December 15, 2009 tools

LINQPad updated to support Data Services!

Joe Albahari, the author of LINQPad, has added support for WCF Data Services to the 1.37.1 version beta of LINQPad. This means that you can point LINQPad at any Open Data (OData) endpoint and do queries interactively just like any other LINQ data source. He even supports HTTP security, in case the endpoint in question requires it. Further, if you have your own custom LINQ to Whatever and you’d like to plug a connection to it into LINQPad, Joe has already added the ability to create a custom data context provider. It is, as they say, a thing of beauty. Enjoy!


← Newer Entries Older Entries →