我在C#Winforms 2010中的项目并使用SQL Server express和Linq-to-SQL.我的项目让我异常:
INSERT语句与CHECK约束"CK_BarCode_Num"冲突.冲突发生在数据库"停车",表"dbo.TBL_Cards",列'BarCode_Num'
当我运行此查询时:
SELECT name, definition
FROM sys.check_constraints
WHERE name = 'CK_BarCode_Num'"
Run Code Online (Sandbox Code Playgroud)
输出显示以下定义:
Name: CK_BarCode_Num
Definition: (datalength([BarCode_Num])=(13))"
Run Code Online (Sandbox Code Playgroud)
但在TBL_Cards数据库中,类型BarCode_Num是varchar(100)和后面的代码,我声明int的类型BarCode_Num.
我不知道在哪里设置datalength([BarCode_Num])=(13)?
我想做一个可以将多个变量与单个字符串进行比较的LINQ查询.我已经看过LINQ for LIKE查询数组元素,它很有用,但并不完全.我需要反过来.
我想做的是以下内容:假设我有Company两个Name和的对象Address.我也有一个字符串keyword.然后,我想找到所有Company的列表具有S keyword在任何他们Name或Address.在SQL中它会......
SELECT * FROM Company
WHERE Name LIKE '%keyword%' OR Address LIKE '%keyword%'
Run Code Online (Sandbox Code Playgroud)
我一直在使用Entity Framework,我尝试了以下内容:context.Companies.Where(x => new string[] { x.Name, x.Address }.Contains(keyword),以及context.Companies.Where(x => new string[] { x.Name, x.Address }.Any(r => r.Contains(keyword)),但都没有成功.第一个给了我一个IN条款,第二个给了我......我不知道它做了什么,但它没有给我我想要的东西.
对不起,我对表达式还没有非常深入的了解(还); 我希望我能够从头开始编写我自己的自定义表达式,但是我还不能抓它 ...有人可以帮助我这个吗?
请考虑以下方法.我被问到异常,而转发器绑定.
Bindrepeater:
private void BindRepeater()
{
var idx = ListingPager.CurrentIndex;
int itemCount;
var keyword = Keywords.Text.Trim();
var location = Area.Text.Trim();
var list = _listing.GetBusinessListings(location, keyword, idx, out itemCount);
ListingPager.ItemCount = itemCount;
BusinessListingsRepeater.DataSource = list.ToList(); // exception here
BusinessListingsRepeater.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
GetBusinessListings:
public IEnumerable<Listing> GetBusinessListings(string location, string keyword, int index, out int itemcount)
{
var skip = GetItemsToSkip(index);
var result = CompiledQueries.GetActiveListings(Context);
if (!string.IsNullOrEmpty(location))
{
result= result.Where(c => c.Address.Contains(location));
}
if (!string.IsNullOrEmpty(keyword))
{
result = result.Where(c => c.RelatedKeywords.Contains(keyword) || c.Description.Contains(keyword));
}
var …Run Code Online (Sandbox Code Playgroud) 我想使用MVC网格过滤,但不想使用linq.当前示例使用linq进行过滤.但是,我想将过滤选项传递给存储过程.你有一个例子吗?
我已经看到了Telerik扩展网格的示例,其中内部控制器在使用GridActionAttribute和GridModel从数据库接收所有记录后过滤记录.
[GridAction]
public ActionResult _Paging()
{
return View(new GridModel<Order>
{
Data = GetOrders()
});
}
Run Code Online (Sandbox Code Playgroud)
我想在执行数据库查询之前使用此过滤器,分页信息.所以我将只从数据库中获取pagesize记录.不是整个数据库记录来过滤它(使用storedproc).另外,从数据库LINQ或ENTLIB DAL获取记录的最佳做法是什么.
linq-to-sql telerik-mvc asp.net-mvc-4 kendo-ui mvcextensions
我一直在研究如何在ac#project中正确实现bellow任务.
它被预先考虑到......
获取特定数据库表(db1)中存在但在其他特定数据库表(db2)上不存在的所有数据
两个表都有共同的ID
我已经面临很多关于此的帖子,但似乎没有解决我的问题.有帮助吗?
编辑:
Select all data
on table_x from database_x
Where item_id from table_x are not found inside table_y from database_y
Run Code Online (Sandbox Code Playgroud)
=>以列表格式返回数据
我有一个问题,想知道是否有办法吃蛋糕并吃掉它.
目前我有一个存储库和查询样式模式,我如何使用Linq2Sql,但我有一个问题,我看不到一个很好的方法来解决它.以下是问题的示例:
var someDataMapper = new SomeDataMapper();
var someDataQuery = new GetSomeDataQuery();
var results = SomeRepository.HybridQuery(someDataQuery)
.Where(x => x.SomeColumn == 1 || x.SomeColumn == 2)
.OrderByDescending(x => x.SomeOtherColumn)
.Select(x => someDataMapper.Map(x));
return results.Where(x => x.SomeMappedColumn == "SomeType");
Run Code Online (Sandbox Code Playgroud)
这里要注意的主要部分是Mapper,Query,Repository,然后是最后的where子句.我这样做是作为一个更大的重构的一部分,我们发现有很多类似的查询得到稍微不同的结果集,但然后将它们以相同的方式映射到特定于域的模型.因此,例如,取回a tbl_car然后将其映射到Car对象.因此,映射器基本上采用一种类型并吐出另一种类型,因此与选择中通常发生的情况完全相同:
// Non mapped version
select(x => new Car
{
Id = x.Id,
Name = x.Name,
Owner = x.FirstName + x.Surname
});
// Mapped version
select(x => carMapper.Map(x));
Run Code Online (Sandbox Code Playgroud)
因此,汽车映射器在所有区域上都可以重复使用,这些区域执行类似的查询,返回相同的最终结果,但在此过程中执行不同的位.但是我一直得到错误,说Map无法转换为SQL,这很好,因为我不希望它,但是我理解,因为它在表达式树中它会尝试转换它.
{"Method 'SomeData Map(SomeTable)' has no supported translation to SQL."}
Run Code Online (Sandbox Code Playgroud)
最后,返回并映射的对象在堆栈中进一步传递给其他对象使用,这使用Linq …
我在我的SQLServer数据库中有一个表,其中有几乎100K的记录,还有一个Web应用程序,我想在其中显示这些行的分页gridView表示.显然,我应该过滤行并将其中的一小部分返回给客户端(因为Web上的Ajax性能).
这是我的主要问题.选择中间行的最佳方法是什么?例如,如何选择#50000到#50010的行?是否有类似于select top 10或select bottom 10从表行中间选择行的方法.
我在.NET MVC Web应用程序中使用linq2sql,也可以编写SQL StoredProcedures代码.
任何建议将不胜感激.
好吧,我正在尝试从数据库中检索数据,列名为'EventTime',数据类型为time(7),以下是我的C#代码:
[Column(IsDbGenerated = true)]
public TimeSpan EventTime { get; set; }
Run Code Online (Sandbox Code Playgroud)
我一直在搜索,似乎TimeSpan确实相当于时间,但是,当我尝试运行该代码时,它仍会导致异常,所有其他列加载都很好
有没有人遇到类似的问题?
编辑:这是"10:34:00"栏中的数据样本
我可用的唯一异常细节是模糊的:"异常详细信息:System.InvalidCastException:指定的强制转换无效." MSDN指定TimeSpan是适当的数据类型http://msdn.microsoft.com/en-us/library/ms131092.aspx?PHPSESSID=lm71lj7i6gj5fjtebtb2srl4n3
我有一个SQL Server数据库,我刚刚添加了一个新表: -
CREATE TABLE [dbo].[my_table](
[my_primary_key] [int] NOT NULL,
[my_data_value] [int] NULL,
PRIMARY KEY CLUSTERED
(
[my_primary_key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
我将新表从Visual Web Developer中的Database Explorer拖到my_schema.dbml设计窗口中.这为我创建了一个my_schema.vb文件: -
Partial Class my_schemaDataContext
End Class
Run Code Online (Sandbox Code Playgroud)
虽然表格的某些痕迹确实出现在XML中: -
<?xml version="1.0" encoding="utf-8"?><Database Name="my_schema" Class="my_schemaDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
<Connection Mode="AppSettings" ConnectionString="Data Source=MYPC;Initial Catalog=my_schema;Integrated Security=True" SettingsObjectName="MyProgram.My.MySettings" SettingsPropertyName="my_schemaConnectionString" Provider="System.Data.SqlClient" />
<Table Name="dbo.my_table" Member="my_tables">
<Type Name="my_table">
<Column Name="my_primary_key" Type="System.Int32" …Run Code Online (Sandbox Code Playgroud) 我在Linq to SQL中有一些困惑.我正在寻找数据上下文类有时会给出以下异常的实际原因.
"已经有一个与此命令关联的开放式数据读取器必须先关闭
特别是在多任务环境中.大多数人都说,原因是,数据上下文不是线程安全.所有建议使用DataContex作为每个单元的工作.
请参考以下主题以获得最佳答案
但在我的情况下,我正在使用另一个类调用"A",它以Singleton模式实现.这个类的用途是,以单例方式提供数据上下文对象.我维护此类"A"的实例作为派生的全局实例类和使用特定实例调用Datacontex.
我的问题是,
我的方法调用会导致无法控制的内存增长吗?根据我的理解,单例将一个实例保持为静态对象.如果我的假设是错误的,请给我很好的解释.
注意:
我的方法调用的任何方式也抛出相同的异常.所以我相信在这种情况下也会发生同样的问题.
linq-to-sql ×10
c# ×7
sql ×4
linq ×3
sql-server ×2
.net ×1
database ×1
datagrid ×1
exception ×1
kendo-ui ×1
telerik-mvc ×1
vb.net ×1
winforms ×1