小编Vis*_*hal的帖子

如何将值从动态SQL存储过程返回到实体框架?

我有一个存储过程,它执行一些动态SQL.我想在实体框架4中使用此存储过程,但是当我尝试创建复杂类型时,过程不返回任何列.有什么办法可以强迫它返回我的值并让实体框架接收它们吗?这是我想要做的简化示例:

CREATE PROCEDURE sp_calculatesalary(@EmployeeId as int)
begin
    declare dynsql as varachar(500)
    @dynsql='Select @Salary=Salary,@UserName=Username from employee
            where EmployeeId='+cast(@EmployeeId as varchar)+ ''
    exec(@dynsql)
    select @Salary, @UserName
end
Run Code Online (Sandbox Code Playgroud)

但这不起作用.请帮帮我.基本上,我想使用存储过程来执行动态SQL并将值返回到实体框架.

stored-procedures return-value sql-server-2008 entity-framework-4

7
推荐指数
1
解决办法
3万
查看次数

何时使用静态类和方法?

我有一个普遍的问题......我什么时候应该使用静态类或静态方法?我知道可以在不实例化的情况下调用静态方法的想法......静态类只应该用于静态方法吗?...但是它是否还存在任何性能问题...什么时候它们应该优先于实例方法和类?如果有人可以简单地提及我何时应该选择使用它们以及何时应该避免使用它们?

oop static-methods static-classes

7
推荐指数
1
解决办法
6088
查看次数

在sql连接或嵌套查询中使用别名总是一个好习惯吗?

使用是否始终是最佳做法 -

Select E.Id,D.DeptName from Employee E join Dept D on E.DeptId=D.Id
Run Code Online (Sandbox Code Playgroud)

代替 -

Select Employee.Id,Dept.DeptName from Employee join Dept on Employee.DeptId=Dept.Id
Run Code Online (Sandbox Code Playgroud)

除了可读性减少查询的长度,使用别名有什么好处?当我咨询我们的数据库专家时,他说查询可能会破坏,如果有时候没有别名 ......我完全不理解......如果有人愿意分享他们的想法以及要遵循的最佳做法,我将不胜感激. .非常感谢.

sql alias join nested-queries

7
推荐指数
2
解决办法
5460
查看次数

如何在本地测试时禁用elmah发送电子邮件?

当我们将以下行添加到web.config时 -

<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
Run Code Online (Sandbox Code Playgroud)

Elmah发送有关正在发生的任何异常的电子邮件.但我们希望这只发生在Web服务器上部署的实时站点.而不是当我们在我们的机器上本地测试网站时.当前它正在这样做并在我们在本地测试网站时发送电子邮件.有谁知道我们如何配置它?

email elmah localhost asp.net-mvc-3

7
推荐指数
1
解决办法
2412
查看次数

如何将字符串列表转换为双精度?

编辑:之前我尝试过这两种方法 -

List<double> doubleList =
stringList.ConvertAll(x => (double)x);

List<double> doubleList =
stringList.Select(x =>
(double)x).ToList();
Run Code Online (Sandbox Code Playgroud)

并得到此错误:

无法将'string'类型转换为'double'

我读到了类似于将int转换为双精度的类似内容...但是我有需要转换为双精度列表的字符串列表,而ConvertAll()不能同时使用Select扩展方法.任何人都可以帮助我.

c# string double list

6
推荐指数
1
解决办法
2万
查看次数

如何从sql中的字符串中获取月份?

我必须从存储字符串格式的列中获取月份 -

Column
----------
`Feb2007'     
'Sep2008'
Run Code Online (Sandbox Code Playgroud)

所以如果价值是'Feb2007'那么我需要回来2,否则如果价值是'Sep2009'那么我应该回来9.

SQL Server 2008中是否有内置函数来实现这样的功能?

sql t-sql sql-server sql-server-2008

6
推荐指数
1
解决办法
5370
查看次数

在mvc中使用控制器中的模型类是不好的做法吗?

我想在asp.net mvc中使用ORM或数据库表时与最佳实践进行比较.有一个问题我有重大问题是我应该实例化模型类直接controller..not查询数据库中,但只是使用模型类来存储的值.

例如,如果我使用实体框架作为模型......那么在控制器中使用实体类对象是不好的做法.有时直接使用控制器中生成的数据库类而不是创建ViewModels甚至ViewData更容易.我们有一个数据访问层和一个业务层,其中应用了所有查询和业务逻辑,但虽然更容易,但我不喜欢在控制器中访问模型的想法,但这真的是一个不好的做法吗?

entity-framework viewmodel asp.net-mvc-2

6
推荐指数
1
解决办法
1069
查看次数

哪个是delete-insert和if-update else-insert的最佳选择?

更新:

我的不好......我在那些桌子上有一个主键......我的意思是目前没有进一步的索引.在看到性能之后我们可能会在将来看到它,并且由于我们在检索数据时对数据有太多过滤器,因此上次我们运行数据库调优时索引没有显示出太大的改进.

数百万条记录中有4张巨大的表格.现在存在经常调用的存储过程并更新这些表.这是场景 -

现在,如果今天存在条目,我需要今天更新它,否则如果用户没有输入,我需要继续为用户插入条目.现在有两种方法可以执行这些,因为只有一个proc可以执行此操作 -

第一道 -

IF EXISTS(TABLE1)
--UPDATE where condn
ELSE
--INSERT
IF EXISTS(TABLE2)
--UPDATE where condn
ELSE
--INSERT
IF EXISTS(TABLE3)
--UPDATE where condn
ELSE
--INSERT
IF EXISTS(TABLE4)
--UPDATE where condn
ELSE
--INSERT
Run Code Online (Sandbox Code Playgroud)

第二种方式 -

DELETE from TABLE1 where condn
DELETE from TABLE2 where condn
DELETE from TABLE3 where condn
DELETE from TABLE4 where condn

INSERT TABLE1 ENTRY
INSERT TABLE2 ENTRY
INSERT TABLE3 ENTRY
INSERT TABLE4 ENTRY
Run Code Online (Sandbox Code Playgroud)

现在第二种方式看起来更简单,但可能更耗时......我不确定哪种方式最好.任何人都可以帮助或指导我在这里..谢谢!

sql-server-2005 query-optimization

6
推荐指数
2
解决办法
1658
查看次数

如何在不改变asp.net mvc中的路由的情况下更改操作参数并使其工作?

在我的路线中我有这样的事情:

controller/action/{id} 
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着它将使用参数id调用任何操作,如下所示:

public ActionResult Detail(string id) 
{
}
Run Code Online (Sandbox Code Playgroud)

如果不在global.asax文件中注册特定路由,我需要做什么才能完成以下工作:

public ActionResult Detail(string customerId) 
{
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc routing

6
推荐指数
2
解决办法
1626
查看次数

为sql中的聚合不同计数写一个类似的LINQ查询?

我想得到每个月的计数,但即使有多次出现,计数也应该每天最多只有一次.我有正确的SQL查询,但无法将其转换为LINQ -

select 
    count(DISTINCT DAY(date)) as Monthly_Count,
    MONTH(date) as Month,
    YEAR(date)
from 
    activity
where 
    id=@id
group by
    YEAR(date),
    MONTH(date) 
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我翻译上面的查询到LINQ.谢谢!

c# t-sql linq linq-to-entities comparable

6
推荐指数
1
解决办法
2025
查看次数