LINQ To Entities Doesn't Recognize The Method - Delete Statement
Apr 4, 2011
I have a GridView and on a row being deleted I trigger the GridView1_RowDeleting sub, but I receive an error "LINQ to Entities does not recognize the method 'System.Web.UI.WebControls.TableCell get_Item(Int32)' method, and this method cannot be translated into a store expression." Code is:
Private Sub GridView1_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
' The deletion of the individual row is automatically handled by the GridView.
Dim dbDelete As New pbu_housingEntities
' Remove individual from the bed.
Dim remove_bed = From p In dbDelete.Beds _
Where p.occupant = GridView1.Rows(e.RowIndex).Cells(3).Text _
Where p.room = GridView1.Rows(e.RowIndex).Cells(6).Text _
Where p.building = GridView1.Rows(e.RowIndex).Cells(5).Text _
Order By p.id Descending _
Select p
remove_bed.First.occupant = ""
dbDelete.SaveChanges()
' Increase number of open spaces in room.
Dim update_occupancy = From p In dbDelete.Rooms _
Where p.room1 = GridView1.Rows(e.RowIndex).Cells(6).Text
Where p.building = GridView1.Rows(e.RowIndex).Cells(5).Text _
Select p
update_occupancy.First.current_occupancy = update_occupancy.First.current_occupancy - 1
dbDelete.SaveChanges()
End Sub
The specific line erroring out is: remove_bed.First.occupant = ""
Im my MVC 3.0 Application, I created a helper like below;
[Code]....
And I used that helper in a linq query as below;
[Code]....
When I fire my app, it gives me the below error. LINQ to Entities does not recognize the method 'System.String GenerateURl(System.String)' method, and this method cannot be translated into a store expression. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: LINQ to Entities does not recognize the method 'System.String GenerateURl(System.String)' method, and this method cannot be translated into a store expression. Source Error:
Line 43: public Blogs GetBlog(string urlstring) { Line 44: Line 45: return GetAll().SingleOrDefault(x => BlogUrlGeneration.GenerateURl(x.ArticleTitle).Equals(urlstring)); Line 46: } Line 47:
İn my blog, the link will be like below; [URL] so I need to set the above urlgenerator class into lambada. How can I do that? What would it take to make that work perfectly
I am using Entity Framework to contact my data base. as part of my web code I am using Linq to entities, and I want to determine the number of elements in an anonymous type list. I can't get it to work, I get the exception: "LINQ to Entities does not recognize the method 'Int32 Parse(System.String)' method, and this method cannot be translated into a store expression."
var questItem = from chapters in context.TestChapter from questions in context.Question where chapters.ID == int.Parse(Request.QueryString["id"]) where questions.TestChapterID == chapters.ID select questions.ID; int numOfSteps = questItem.Count();
I receive this error message: LINQ to Entities does not recognize the method 'System.Guid GetUserId()' method, and this method cannot be translated into a store expression. This is my code:
DB.Users user = db.Users.FirstOrDefault(u => u.Id == BOL.GetUserId()); BOL.GetUserId() returns a GUID of the current logged-in user (and this works works).
How can I make this LINQ code line work? Or, what is the shortest alternative? In the mean time I found out that there is a difference between LINQ to SQL and Entities. I use Entities because of the TailspinSpyworks example... but my code is using LINQ to SQL. My current solution is to use a var:
var userId = BOL.GetUserId(); DB.Users user = db.Users.FirstOrDefault(u => u.Id == userId);
Is this a good solution? And, is the execution time of Entities faster than SQL?
When i use the query **var NewMatchs = (from x in entity.matches select x).LastOrDefault();** I got error like this **LINQ to Entities does not recognize the method 'SocialSports.Models.match LastOrDefault[match](System.Linq.IQueryable`1[SocialSports.Models.match])' method, and this method cannot be translated into a store expression.**
I am creating an Asp.net web site which will support dynamic data. When I am creating a dynamic web site from Scratch (from template in VS) all is working fine. But when I am trying to add dynamic entity (.edmx) file and running the application I am getting following error
"The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'. "
Using linq to entities i am connecting to a database, the database has tables in it that has payments that have a multi to multi relationship with jobs. This is acheived via an allocs table. I want a list box with all the jobs that has a column called due price which takes all of the allocations of payments for this job and takes that away from the job price. However, using the below linq to entities statement. The problem is that if the job has no allocations it returns null and therefore the due payment is empty. What i really want is for the due payment to be the job price if there are no allocations however, i cannot think of a way around this.
var jobs = from j in data.jobs where j.property.customer.id == customerid && j.completed != null select new { j.id, j.price, dueprice = j.price - ( from a in data.allocs where a.job.id == j.id select a.amount ).Sum(), lineone = j.property.lineone, postcode = j.property.postcode, jobtype = j.jobtype.name, j.completed };
I am building a web application in asp.Net 4.0 and entity framework. I am trying to retrieve a list of products based on a collection of id's. I first gather all the id's in a collection and then pass it to the linq query. I am trying to get a functionality similar to the IN clause in SQL. The problem seems to be with the Contains() method in the Linq to entities query. Here is my Linq code:
[Code]....
I got the above Linq to entities method from here: [URL]
public List<DistributionGroup> GetDistributionGroupsByUserId(Guid userId) { return (from dgu in db.DistributionGroup_Users where dgu.UserId == userId select
I have a query that gives me the average number of days between 2 dates in the database. It gives an error saying line does not reconize the subtract method. What is the best way to do this, i prefere not to have to get the whole table as a list and loop though.
Using em As EE.EclipseEntities = New EE.EclipseEntities Return em.OrderLines.Where(Function(w) w.Received_Factory_On.HasValue) _ .Average(Function(a) CDate(a.Received_Factory_On).Subtract(CDate(a.Sent_Factory_On)).Days) End Using
I'm having trouble writing what should be a simple sub-query using LINQ to Entities. I have two tables: Customers and Orders that have a relation on the CustID field. Not all Customers have a record in the Orders table, while some have mutiple records. In traditional SQL, you could write the query like this: SELECT * FROM Orders where CustID IN (SELECT CustID FROM Customers) I know this could be done as a JOIN in both SQL and L2E, but my actual query is more complex (about 8-9 joins), so I am hoping to find a L2E sub-query equivalent. Something like this:
[Code]....
I know LINQ to Entities does not support the " IN " clause, so I am looking for something that will work in its place.
I am having trouble with this I have 3 Data tables i use over and over again which are cached I would like to write a LINQ statement which would do the following is this possible?
T-SQL VERSION:
SELECT P.[CID],P.[AID] ,B.[AID], B.[Data], B.[Status], B.[Language] FROM MY_TABLE_1 P JOIN ( SELECT A.[AID], A.[Data], A.[Status], A.[Language] FROM MY_TABLE_2 A UNION ALL SELECT B.[AID], B.[Data], B.[Status], B.[Language] FROM MY_TABLE_3 B ) B on P.[AID] = B.[AID] WHERE B.[Language] = 'EN' OR B.[Language] = 'ANY' AND B.STATUS = 1 AND B.[Language] = 'EN' OR B.[Language] = 'ANY' AND B.STATUS = 1
Then i would like it to create a result set of the following
I am using VS 2008 SP1. My also have included CSS Friendly adapter [URL] in my project ( I mentioned this because my GridView Empty data template is not showing when using GridView's CCS Friendly adapter). I have a GridView and a DetailsView. When a record in GridView is selected its details information is shown in the Details View. Type of Data source I am using is ObjectDataSource. My Insert and Update methods works perfectly. It is only the Delete method that is passing null values to the underlying object delete method. My source codes for both the UI, BLL, DAL is shown below
In my current project (ASP.Net 2.0) I have a lot of web user controls, among them "Office.ascx". Office.ascx is loaded into another controls using this line:
guide_controls_display_Office o = (guide_controls_display_Office)LoadControl("Office.ascx");
The control I am loading it into has Office.ascx registered using this line:
But I get this error upon launching the web page: Unable to cast object of type 'ASP.guide_controls_display_office_ascx' to type 'guide_controls_display_Office'. Why do I get this message? I can see that the first type has "ASP." in front of it. Is that normal?
Even my button click event handler gives me the following error:
Error 2 Handles clause requires a WithEvents variable defined in the containing type or one of its base types. E:NoteTenderNoteTenderMembersManageNote.aspx.vb 27 91 NoteTender
I have verified that my inherits is using the correct namespace and class name.
I have created profile objects in my web.config file:
[Code]....
[Code]....
In all tutorials I am finding on the net it says in order to read/write from these properties I just need to use the syntax with C#:
Profile.Surname = "Surname";
But this does not work on my web site code when I'm using C# it underlines and recommends I change to System.Web.Profile.Surname (which I do) but then Intellisense and the compiler do not recognise Surname. What am I doing wrong? I am using Visual Studio 2010 and .Net V4.
on a server, I am trying to deploy a website. Originally, the page styles did not work and the some of the .gif and .jpg images didnt show up. I fixed the css problem by adding a http handler mapping through IIS. I tried the same thing to get the images to work but that didn't fix the problem. If the website was fully deployed im pretty sure the images would work so I dont want to change their paths (same with css). The handler mapping i added for css was for "*.css" of type system.web.staticfilehandler. This is the same type i tried for .jpg and .gif. I don't know specifically the purpose of system.web.staticfilehandler because msdn info is very short.
I have created a user control which is inside a folder called Controls and the class is a partial class which inherits from Web.UI.UserControl. Now from my page which is one level up I just try to access the method inside the usercontrol and so trying to cast it as the type of user control. But I get build errors. It just cannot recognize that class. I get Type not defined error. But at times it has recognized the class. Dont know why it does that.
I added some javascript to fill in a dropdown and it works wonderfully. However, when I try to access the value in codebehind to submit the data, the value shows as null. (string strValue = ddlName.SelectedValue;).