gpt4 book ai didi

Linq To SQL - 指定的强制转换无效 - SingleOrDefault()

转载 作者:行者123 更新时间:2023-12-04 17:41:43 26 4
gpt4 key购买 nike

我正在尝试执行以下操作...

Request request = (
from r in db.Requests
where r.Status == "Processing" && r.Locked == false
select r
).SingleOrDefault();

它抛出以下异常...
Message:
Specified cast is not valid.

StackTrace:
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)
at GDRequestProcessor.Worker.GetNextRequest()

谁能帮我?
提前致谢!


架构详细信息可以在下面找到...
[Table(Name="dbo.Requests")]
public partial class Request : INotifyPropertyChanging, INotifyPropertyChanged
{

private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);

private int _RequestId;

private string _LoanNumber;

private string _ClientCode;

private int _RequestTypeId;

private bool _HasParameters;

private string _Status;

private bool _Locked;

private string _ErrorMessage;

private int _ReferenceId;

private EntitySet<RequestParameter> _RequestParameters;

private EntityRef<RequestType> _RequestType;

#region Extensibility Method Definitions
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnRequestIdChanging(int value);
partial void OnRequestIdChanged();
partial void OnLoanNumberChanging(string value);
partial void OnLoanNumberChanged();
partial void OnClientCodeChanging(string value);
partial void OnClientCodeChanged();
partial void OnRequestTypeIdChanging(int value);
partial void OnRequestTypeIdChanged();
partial void OnHasParametersChanging(bool value);
partial void OnHasParametersChanged();
partial void OnStatusChanging(string value);
partial void OnStatusChanged();
partial void OnLockedChanging(bool value);
partial void OnLockedChanged();
partial void OnErrorMessageChanging(string value);
partial void OnErrorMessageChanged();
partial void OnReferenceIdChanging(int value);
partial void OnReferenceIdChanged();
#endregion

public Request()
{
this._RequestParameters = new EntitySet<RequestParameter>(new Action<RequestParameter>(this.attach_RequestParameters), new Action<RequestParameter>(this.detach_RequestParameters));
this._RequestType = default(EntityRef<RequestType>);
OnCreated();
}

[Column(Storage="_RequestId", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int RequestId
{
get
{
return this._RequestId;
}
set
{
if ((this._RequestId != value))
{
this.OnRequestIdChanging(value);
this.SendPropertyChanging();
this._RequestId = value;
this.SendPropertyChanged("RequestId");
this.OnRequestIdChanged();
}
}
}

[Column(Storage="_LoanNumber", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
public string LoanNumber
{
get
{
return this._LoanNumber;
}
set
{
if ((this._LoanNumber != value))
{
this.OnLoanNumberChanging(value);
this.SendPropertyChanging();
this._LoanNumber = value;
this.SendPropertyChanged("LoanNumber");
this.OnLoanNumberChanged();
}
}
}

[Column(Storage="_ClientCode", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
public string ClientCode
{
get
{
return this._ClientCode;
}
set
{
if ((this._ClientCode != value))
{
this.OnClientCodeChanging(value);
this.SendPropertyChanging();
this._ClientCode = value;
this.SendPropertyChanged("ClientCode");
this.OnClientCodeChanged();
}
}
}

[Column(Storage="_RequestTypeId", DbType="Int NOT NULL")]
public int RequestTypeId
{
get
{
return this._RequestTypeId;
}
set
{
if ((this._RequestTypeId != value))
{
if (this._RequestType.HasLoadedOrAssignedValue)
{
throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}
this.OnRequestTypeIdChanging(value);
this.SendPropertyChanging();
this._RequestTypeId = value;
this.SendPropertyChanged("RequestTypeId");
this.OnRequestTypeIdChanged();
}
}
}

[Column(Storage="_HasParameters", DbType="Bit NOT NULL")]
public bool HasParameters
{
get
{
return this._HasParameters;
}
set
{
if ((this._HasParameters != value))
{
this.OnHasParametersChanging(value);
this.SendPropertyChanging();
this._HasParameters = value;
this.SendPropertyChanged("HasParameters");
this.OnHasParametersChanged();
}
}
}

[Column(Storage="_Status", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
public string Status
{
get
{
return this._Status;
}
set
{
if ((this._Status != value))
{
this.OnStatusChanging(value);
this.SendPropertyChanging();
this._Status = value;
this.SendPropertyChanged("Status");
this.OnStatusChanged();
}
}
}

[Column(Storage="_Locked", DbType="Bit NOT NULL")]
public bool Locked
{
get
{
return this._Locked;
}
set
{
if ((this._Locked != value))
{
this.OnLockedChanging(value);
this.SendPropertyChanging();
this._Locked = value;
this.SendPropertyChanged("Locked");
this.OnLockedChanged();
}
}
}

[Column(Storage="_ErrorMessage", DbType="VarChar(255)")]
public string ErrorMessage
{
get
{
return this._ErrorMessage;
}
set
{
if ((this._ErrorMessage != value))
{
this.OnErrorMessageChanging(value);
this.SendPropertyChanging();
this._ErrorMessage = value;
this.SendPropertyChanged("ErrorMessage");
this.OnErrorMessageChanged();
}
}
}

[Column(Storage="_ReferenceId", DbType="Int NOT NULL")]
public int ReferenceId
{
get
{
return this._ReferenceId;
}
set
{
if ((this._ReferenceId != value))
{
this.OnReferenceIdChanging(value);
this.SendPropertyChanging();
this._ReferenceId = value;
this.SendPropertyChanged("ReferenceId");
this.OnReferenceIdChanged();
}
}
}

最佳答案

您需要确保您的表架构与您的 .dbml 图和相关属性相匹配。

也许最简单的方法是从 dbml 图中删除有问题的表。然后,从您的服务器资源管理器中,将其拖回图表。

注意:这并不总是适用于 View 。有时,您必须运行 exec sp_refreshview MyViewName在将您的 View 重新添加到 DBML 之前从 SSMS。

关于Linq To SQL - 指定的强制转换无效 - SingleOrDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2436154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com