LINQDataSource and private columns

Posted by fyjham on Stack Overflow See other posts from Stack Overflow or by fyjham
Published on 2010-04-20T01:09:13Z Indexed on 2010/04/20 1:13 UTC
Read the original article Hit count: 350

Filed under:
|
|
|

Hey,

I was trying to use a ListView bound to a LinqDataSource to insert to a table where I had a few columns private to the table class (Specifically password columns - only access I want to give outside the class is methods that generate the salt and encrypt the password to store it in 1 go).

I gave this a few shots, but I didn't come up with anything I really liked... was wondering if anyone has a better way to do this. The methods I've found:

  1. Use the LinqDataSource inserting event and make the appropriate calls on e.NewObject. I don't really like this because it's so far removed from the actual input and there's no simple way to hold the password in the meantime other than a class variable set during the ListView's inserting event (Which works, but seems a little dodgy).
  2. Open up these properties and just ask everyone to use the appropriate static methods for encoding the passwords they pass in. I don't really like this cause I'd prefer that class to enforce data integrity rather than relying on all calling code doing it properly...

I'm currently going with option #1, but I don't really like passing values between events using class variables like that (It just seems unstructured... even though I can guarantee the events will happen in the right order). Does anyone know a better way, or alternatively am I being too pedantic and one of the methods above is actually the right way to go?

Thanks

© Stack Overflow or respective owner

Related posts about c#

Related posts about linqdatasource