DataSource Controls :: Implications Of LINQ To SQL
Mar 12, 2010
I thought I'd read that LINQ to SQL performs operations on the user's behalf and acts pretty much in the same way as if you manually queried a database. I was told today that it can be considerably slower.Can anyone point me to a link or share their knowledge so I can help to build up a picture of what actually happens?
I am writing a plugin to help with a current ERP system we have that I am not allowed to modify the data structure at all. The table I am dealing with has over 100 columns and I am wanting to set my linq object propertychanged event and submitchanges or do I really have list out each property and set it equal to the new one?Below is an example of what I am trying to do:
Like that I have large number of controls on my form. I have dought, if I assigned like this, db.usp_ATI_FetchPatientDetails(iPatientID).ElementAt(0).Last_Name.ToString(); to every control, then I have set of controls like,
My question is that, for each control the Stored Procedure called or not? If it is yes then it is time consuming and I need to use LINQ to DataSet or LINQ to Object rather than to call SP for each control. What is difference between LINQ to DataSet and LINQ to Object?
public IEnumerable<Customer> GetCustomers() { Table<Customer> custObject = context.Customers; IEnumerable<Customer> filteredCustList = from customer in custObject select customer; filteredCustList; } GridView2.DataSource = utilLinqClass.GetCustomers(); GridView2.DataBind();
(no errors at build time or at compile time) Error I am getting is: An attempt to attach an auto-named database for file App_Dataaspnetdb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
I've got a class that needs to store data in a cache. Originally I used it in an asp.net application so I used System.Web.Caching.Cache.Now I need to use it in a Windows Service. Now, as I understand it, I should not use the asp.net cache in a not asp.net application, so I was looking into MemoryCache. The problem is that they are not compatible, so either I change to use MemoryCache in the asp.net application, or I will need to create an adapter so ensure that the two cache implementations have the same interface (maybe derive from ObjectCache and use the asp.net cache internally?)What are the implications of using MemoryCache in an asp.net?
I'm trying to write cookies from my website and I'm trying to figure out what implications timezones has over the HttpCookie.Expire property. Should I be passing DateTime.Now.AddDays(1) or DateTime.UtcNow.AddDays(1) or the users's timezone plus a day?
One of the libraries I am including in my project makes use of System.Web.Extensions 3.5.0.0, which conflicts with my Framework 2.0 application, which uses (C:Program FilesMicrosoft ASP.NETASP.NET 2.0 AJAX Extensionsv1.0.61025System.Web.Extensions.dll). I can think of 3 possible solutions:
Ignore the warning and don't change anything. I am not sure what the application does to handle this. Add an assembly binding element to my web.config (see below) Configure the application explicitly to use different assemblies (I think this is possible, but don't know how to do it).
However, I am unsure of the implications of each of these decisions. The application seems to work perfectly fine even when I ignore the warnings (solution 1), but ignoring warnings that I don't fully understand bugs me...as does having warnings like this show up at all.
I have to change the username column in my database to nullable, which means everywhere in my code, I now have to check username.HasValue and change references to username to username.Value. Is there anything I can do to avoid having to change all the references to username to username.Value?
I was wondering about something. I'm supporting a .NET C# application which has a number of database connections declared locally as IDbConnection with MS SQL Server and NHibernate. These connections are declared locally and not explicitly closed after a specific operation is performed. Are these connections automatically closed after the local method is executed, or could these connections be floating around somewhere? We're having semaphore max out problems, and I'm trying to see if this may be the culprit. I'm doubtful, as I believe these connections would automatically close, but thought I'd throw out hte possibility.
I am trying to use a linq query to create a report and I am unclear on how to traverse the linq dataquery in my case. Inside my for each loop, i have a do while loop. The way it is written below, the do while loop is infinite because I never skip to the next itm in oneSchedule. Placing a Next inside the do while loop causes a syntax error. So what is the correct method for moving to the next itm within the loop?????
select * from MyTable select "MonthName"= case when datepart(month,date1) =1 then 'January' when datepart(month,date1) =2 then 'February' end , count(*) as CountByMonth from venkat group by datepart(month,date1)
I'm trying to "move" a LinqDataSource control to code behind to better control the query parameters. Problem I'm having is how does the "It" keyword translate to Linq To SQL syntax (not sure if I'm getting the terminology right here, but I think you get my meaning).
If I have an ID, I would like to retrieve the next item that also has the same category as the item ID I have. So, for example, if I have ID=2, I would like to return the item with ID=4 (as item ID=3 has a different category).
Whenever you want to implement Linq to SQL on a project there is inevitably a battle between the DBA and the developers over it.
From the developer standpoint, Linq to SQL eliminates the need to manually write stored procs, ADO.NET data access classes, business object classes, and datatable -> business object conversion classes. This makes development a breeze and eliminates a lot of the traditional layers that you'd normally have to code.
Alternately, from a DBA perspective there are some issues. One is that a lot of DBA's like to do security at the sproc level, and this level would be gone. Another issue is that if the DBA wanted to mimic some sql functionality that the application is doing, possibly for a scripted action, they wouldn't be able to simply call the sproc that the application is using. Also they wouldn't be able to tell which columns are actively being used and which are not, as it'd be C# code specifying which columns are returned rather than sprocs. Lastly, if something needed to be changed structurally, it'd require a recompile and redeploy of the entire app rather than a simple sql script of 2 being deployed.
There are valid points on both ends, so I'm wondering what experiences you all have with this and what sort of compromises you made. In my situation, I'm the developer and I'm trying to figure out a compromise I can make with the DBA so we both give a little rather than one of us having to completely bend over. The obvious compromise to me is using sprocs from within Linq to SQL, but it adds another layer of development and the sprocs have to coded a certain way to play nice with Linq to SQL.
SELECT * FROM dc.accounts t1 INNER JOIN dc.profiles t2 ON t1.AccountID = t2.AccountID WHERE EXISTS ( SELECT * FROM dc.profileblocks t3 WHERE t3.AccountID = '14' and t1.AccountID = t3.AccountID )
I'm close to the solution I see where I am going wrong just unsure how to approach it. I want to be able to take a tables worth of data (via DataClasses) and put it in a CSV to download.
A LINQ to SQL query is performed (basically a 'Select All' from tbl_Newsletter), takes those results and the idea is to feed those results, one by one through the foreach which, inside it, is the CSV's definition e.g. List.Add(etc) as you'll see. After which the CSVExporter method is called - which works, as I can Download it, it just wont display any results.
C#: [Code]....
To which I get: Compiler Error Message: CS1729: 'Newsletter' does not contain a constructor that takes '2' arguments
with Newsletter obj = Newsletter.GetAll(); in place of Newsletter obj = new Newsletter();
I get: Compiler Error Message: CS0029: Cannot implicitly convert type 'System.Collections.Generic.List<Newsletter>' to 'Newsletter'
I am trying to set value to Textbox from the query Linq to SQL , I can fill the gridview , and I can only set FirstOrDefault to textbox
what I need to count the record of my table then add the field emailaddress to textbox1 and then add ";" and then go to next record , it was vert easy using reader , but in LINQ is very hard