C# - LINQ Union With BIT Column Causing Specified Cast Is Not Valid Error?
Mar 8, 2011
I have a complicated join between a few tables but I have managed to replicate the error using linqpad and the small tables below. There are references between the COLNAME column and the YAXIS column and also between COLNAME and XAXIS that is not explicitly defined.
The error is "Specified cast is not valid", which originally I wasted time thinking the problem was converting the data returned to my object in VS 2010, but the error also happens in linqpad with no defined object. It seems insane that a bit column would cause this problem. If I change the column type to a VARCHAR it works fine. If I run the generated SQL from linqpad or sql profiler that also returns fine.
C#, ASP.NET MVC, SQL Server 2008 ( Same version & SP level), Linq-To-SQL ORM
I'm trying to diagnose an exception I'm receiving:
"Specified cast is not valid." at System.Data.Linq.IdentityManager.StandardIdentityManager.SingleKeyManager2.TryCreateKeyFromValues(Object[] values, V& v) at System.Data.Linq.IdentityManager.StandardIdentityManager.IdentityCache2.Find(Object[] keyValues) at System.Data.Linq.IdentityManager.StandardIdentityManager.Find(MetaType type, Object[] keyValues) at System.Data.Linq.CommonDataServices.GetCachedObject(MetaType type, Object[] keyValues) at System.Data.Linq.ChangeProcessor.GetOtherItem(MetaAssociation assoc, Object instance) at System.Data.Linq.ChangeProcessor.BuildEdgeMaps() at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) at System.Data.Linq.DataContext.SubmitChanges() at Repository.Save() at etc....
The problem is that this is occurring only on our servers, not on our local development boxes. I've tracked it down to a single property we're modifying:
event.SalesForceId = "701Q0000000AOTIIA4";
If I comment out that line, everything works fine.
I've tried:
1 ) waxing all of the code on the server and redeploying. Same issue. 2 ) Pulling down a copy of the server DB and trying it locally. Works fine. 3 ) Trying another IIS environment we have setup on the same box. Same issue. 4 ) Physically comparing ( using AdeptSQL ) both local and remote schemas. No differences. 5 ) Verifying the datatypes of both columns ( local and remote ) are the same. Also, this column is a FK to another table. I verified that both are of the same data type, down to the collation.
The server is Windows Server 2008 and the local box is Windows 7 x64. Both have all important updates setup.
The only thing I can think of is perhaps since the database and web server are on different boxes that could be an issue? Otherwise, I'm completely stumped.
just needing a 2nd set of eyes looking at this to make sure the error isn't something else other than my LINQ code here. Here's the function class itself:
[Code]....
For some reason it's flagging the 2nd line in the GetJacketByPolicyID function saying the specified cast is not valid. So I'm guessing it's something I'm doing wrong. I'm sure the tblPolicy/tblPolicies class works right since I can create a new instance of a tblPolicy and set a few variables by hand and return it, so that's not it. I've also checked the datarow I'm fetching and there's no null values in the record, so that shouldn't be it either.
I've already checked the row returned by my sproc and all the fields match my OcItemConstraintDetails class. Not sure why I am getting the error below :(Error: Specified cast is not valid.
I have a .Net 2 solution with some asp classic pages.I get a specified cast is not valid error when I access the page on my local. Below is the vb function where I get the Error:
Public Function Retrieve(ByVal vntSeqId As String, ByRef vntPart As String, ByRef vntPartKey As String, ByRef vntEntDate As String _ , ByRef vntStatus As String, ByRef vntOrigGblId As String, ByRef vntOrigNetId As String, ByRef vntOrigName As String, ByRef vntOrigPhone As String _ [code]...
At first, I thought the problem is with the source code and we were thinking the source code we have is different with the ones deployed on test and prod servers. But when I tried to upload it on the test server, I don't get the specified cast is not valid error.
Unable to cast object of type 'System.Data.Linq.DataQuery`1[Username]' to type 'Username'.
I've been searching but can't find a solution. This particular table has 4 columns. The first column is the int indentifier. Column 2 is "username" (varchar50) and is the primary key. Column3 is "userID" (uniqueidentifier) and column 4 is "active" (varchar5)
we have created web application project and on local computer everyting works fine. after doing deployment on our production server we get a error below
Specified cast is not valid.
Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidCastException: Specified cast is not valid.
I am having an issue when trying to update a ModifiedDateColumn in the database via LINQ. I am setting the ModifiedDate property (which is a DateTime in both SQL Server and my code) using DateTime.Now. I am getting an error where LINQ is generating too many precisions when generating the SQL to execute. Here is what the LINQ is generating (see @p3 & @p5)
[Code]....
How do I get LINQ to only generate to only 3 decimal places?
At the moment I'm trying to keep a certain site (asp.net) alive long enough for its replacement to be build in php. However I don't know much about .net or asp.net.
We are getting this error:
Specified cast is not valid. Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidCastException: Specified cast is not valid.
I need to use Union for below Linq queries. I could use Union it if it was simple "select new whith{" but Now that I Specified Class, I encounter Error using union
I've got a list of teams which seperate into different leagues. I'm trying to show the user the league that they are in and show it from where they are in the league. This is the error I'm recieving:Specified cast is not valid. 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.InvalidCastException: Specified cast is not valid.Source Error:
have a table that keeps track of customer data that is beyond the scope of the Membership Class, this table I am also using the Membership.CreateUser() generated user ID.When I use my INSERT statement however to create a new row in my table I keep getting the Specified cast is not valid error.This is my SQL Command (The ...refer to other fields)
Dim mySqlCommand As String = "INSERT INTO Customers (UserID, ...) VALUES (@UserID, ...)" I send it to my Write_Database(mySqlCommand, Membership.GetUser(txtUserName.Text).ProviderUserKey, ...) function which then I also tried sending he UserID as: CType(Membership.GetUser(txtUserName.Text).ProviderUserKey, SqlGuid)
Neither Works...both cause errors...My Write_Database Function is declared as follows:
Public Function Write_Database(ByVal MysqlQuery As String, ByVal UserID As System.Data.SqlTypes.SqlGuid, ...)
However Visual Studio shows that the error originates in the function calling code...
There is select and update SQLs in sqldatasource and checkbox in formview which is 2way databinded to an sqlserver bit field type.
it always gives same error
Specified cast is not valid
I excpect nobody posts me an "eval" solution.because update is a need for checkboxes which are attached to a bit field.
a ready-to-use small sample project with DB I attached HERE
Specified cast is not valid.
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.InvalidCastException: Specified cast is not valid.
I have a custom oledb role provider that pretty much a cust and past of:
[URL]
except I've used oledb instead of odbc. I'm connecting to an oracle database and the tables have been created with out any issues. now if I go into the Website Administration Tool and try to create a new role I get the error
"Specified cast is not valid."
I can create a role directly in the database (through TOAD) and the role will show up in the .NET WAT, so I know it can make the connection and read the info just fine. I just can't create or delete or modify a role without the above error.
I have two linqTOsql entities that has a parent and child relationship, one to many. I'm running into an issue that when I retrieve the parent record, I am unable to loop through the related records in the child table.This code fails:
I have a little problem developing a SQL Select Statement on a column that is formatted pretty badly. Firstly, the Database has already been created and filled with Data in a Test Environment, I'm not sure if the format is the same or has been updated in Production but since I'm only able to work with the Test Environment right now I'm stuck with using what I have. The Column in one Table shows a Snapshot of a clients account which is set to VarChar(50) but the actual data in the column is formatted like a money format (with a $ and decimal point so for example "$5,000.00" would be an entry in one Row).
What I'm trying to do is a create a WebService that will be used in a iPhone Application and one of the Methods needs to just give a quick display of the total value of all Clients with each specific company but I can't perform a SUM function on a VarChar column and I've tried to CAST and CONVERT the column into money, int, decimal and just about every format I can think of but I keep getting an error stating that I convert the data type varchar to which ever one I'm trying. I think it has something to do with the $ already listed in the Column, so I wanted to know what I could do to either remove the $ sign (like a Trim option) or if there is a better way of doing this that I can't think of. I know the best option would be to convert the column to the appropriate format but as I said, this was a previously designed system and I'm not sure if the Production area is the same (most likely not).
I have a user control with a datalist. I just want to do some simple binding but keep getting an object reference not set to an instance of an object error. The following is the code, I am sure I am just missing something simple:
Dim dc As Forms.DataClassesDataContext = New Forms.DataClassesDataContext Dim formQuery = From fq In dc.v_form_questions _ Where fq.FormTypeID = FormTypeID _
[code]...
When I debug, I see values for the formQuery; I am also able to loop through the formQuery and response.write a field out, however every time I try to bind it to a databound control, I get the Object reference not set to an instance of an object error.I initally was using a simple LinqDataSource object, but needed to set the where parameter to the FormTypeID property of this usercontrol. I had a Where condition defined on Page Init, but started getting the object reference error.
I wanted to delete the record from data but I receive this error "Unable to cast object of type 'System.Data.Linq.DataQuery`1[training_eval.Course]' to type 'training_eval.Course'.
Dim eval_sure = From ev In db.Evaluates Where ev.course_id = indexcourse Select ev.course_id Dim del_course = From c In db.Courses Where c.Course_id = indexcourse db.Courses.DeleteOnSubmit(del_course) db.SubmitChanges()
I am writing queries with CONVERT function. I have more than 200 columns in query. I am processing each row and write it to file.I need to log all errors occured during process. I need to capture column which is causing exception (Arithmetic overflow error converting numeric to data type varchar.) and log it in other file and send to administrator.