可以在事务中使用SQL"truncate table"命令吗?我正在创建一个应用程序,我的表有大量的记录.我想删除所有记录,但如果应用程序失败,我将回滚我的事务.删除每条记录需要很长时间.我想知道我是否使用截断表,我是否仍然可以回滚事务并在发生故障时恢复数据.我意识到truncate table不会将每个删除写入事务日志,但我想知道它是否将页面释放写入日志以便回滚工作.
我试图使用这个问题的接受答案.
它似乎正是我正在寻找的,但我有一个问题.我不知道怎么称呼它.这是我到目前为止:
首先,我从我提到的解决方案中复制代码:
public string ToHtml(string viewToRender, ViewDataDictionary viewData, ControllerContext controllerContext)
{
var result = ViewEngines.Engines.FindView(controllerContext, viewToRender, null);
StringWriter output;
using (output = new StringWriter())
{
var viewContext = new ViewContext(controllerContext, result.View, viewData, controllerContext.Controller.TempData, output);
result.View.Render(viewContext, output);
result.ViewEngine.ReleaseView(controllerContext, result.View);
}
return output.ToString();
}
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的:
string viewToRender = "...";
int Data1 = ...;
int Data2 = ...;
System.Web.Mvc.ViewDataDictionary viewData = new System.Web.Mvc.ViewDataDictionary();
viewData.Add("Data1",Data1);
viewData.Add("Data2",Data2);
string html = ToHtml(viewToRender, viewData, ?????)//Here is my problem.
Run Code Online (Sandbox Code Playgroud)
我应该在controllerContext参数中传递什么?
我想为以下excel-query编写一个sql查询.什么应该是适当的查询?
IF
(
(project. PA_SUBMIT_DATE )-(project. PA_AGREED_SUBMIT_DATE)
>=0;
"YES";
"NO"
)
Run Code Online (Sandbox Code Playgroud)
即日期差异应大于或等于零.如果是这样返回是否则不.请在这里帮助我.
下面的查询有一个红色的波浪形下划线表示服务器到这个位的表[OtherServer].[UAT_DB].[dbo].[profileTable]
,当悬停时说Invalid Object Name
,但有趣的是,如果我执行该行,它会从链接的服务器表中返回正确的记录: -
select * from [OtherServer].[UAT_DB].[dbo].[profileTable]
Run Code Online (Sandbox Code Playgroud) 如何设置列表对象的多个值,我正在做以下但失败.
objFreecusatomization
.AllCustomizationButtonList
.Where(p => p.CategoryID == btnObj.CategoryID && p.IsSelected == true && p.ID == btnObj.ID)
.ToList()
.ForEach(x => x.BtnColor = Color.Red.ToString(), );
Run Code Online (Sandbox Code Playgroud)
在逗号后我想要设置另一个值.应该是什么表达,虽然我只有一个记录相关.
我正在 MVC 4 中进行试验,我在徘徊是否可以将字符串转换为视图并从控制器返回它。
例如,我有一个方法可以将 View 内容读入一个字符串。我想在渲染它之前处理该字符串。所以我希望控制器将修改后的字符串输出为视图。
这甚至可能吗?
请注意,这将在 Razor 进行任何更改后发生。我确实有一种方法可以将最终视图转换为字符串。
编辑
我有以下方法:
public static string RenderViewToString(this Controller controller, string viewName, object model)
{
controller.ViewData.Model = model;
try
{
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, null);
ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View);
return sw.ToString();
}
}
catch (Exception ex)
{
return ex.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
它将最终呈现的视图(实际将在浏览器中显示的内容)返回到一个字符串中。
我需要做相反的事情。有一个字符串,输出一个视图。
所以如果我有以下几点cshtml
:
<!doctype html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
Hello World …
Run Code Online (Sandbox Code Playgroud) 在我的网站中,我定义了以下路线:
routes.MapRoute(
name: "Specific Product",
url: "product/{id}",
defaults: new { controller = "", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
这样我希望客户能够添加产品的ID并转到产品页面.
SEO顾问说,如果我们可以在URL上添加产品描述(如产品名称或其他内容)会更好.所以URL应该类似于:
/产品/我 - 冷 - 产品名称/ 123
要么
/产品/我 - 冷 - 产品名称-123
当然描述存储在db中,我不能用url重写(或者我可以吗?)
我应该在我的控制器上添加重定向(这似乎可以完成工作,但感觉不对)
在我检查的几个网站上,他们确实回复了一个301 Moved Permanently
.这真的是最好的方法吗?
UPDATE
根据 Stephen Muecke
我的评论,我检查了SO上发生了什么.
建议的网址是我自己使用路由操纵网址,我打开控制台查看任何重定向.这是一个截图:
我正在创建一个Orchard模块,我想添加一个WebApi控制器.
我的Module.txt:
Name: ModuleName
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net
Version: 1.0
OrchardVersion: 1.0
Description: Description for the module
Features:
ModuleName:
Description: Description for feature ModuleName.
Run Code Online (Sandbox Code Playgroud)
我添加了ApiRoutes类:
using Orchard.Mvc.Routes;
using Orchard.WebApi.Routes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace ModuleName
{
public class ModuleNameApiRoutes : IHttpRouteProvider
{
public void GetRoutes(ICollection<RouteDescriptor> routes)
{
foreach (var routeDescriptor in GetRoutes())
{
routes.Add(routeDescriptor);
}
}
public IEnumerable<RouteDescriptor> GetRoutes()
{
return new[] {
new HttpRouteDescriptor {
Name = "ModuleName",
Priority …
Run Code Online (Sandbox Code Playgroud) 我有这样的代码:
class Program
{
static void Main(string[] args)
{
Assembly myAsm = Assembly.LoadFile(@"c:\Some.dll");
Type myService = myAsm.GetType("SomeClass");
String s = (String) myService.InvokeMember("SomeMethod", BindingFlags.InvokeMethod | BindingFlags.Public,
null, null, new object[] {"MyParam"});
}
}
Run Code Online (Sandbox Code Playgroud)
在Some.Dll中有公共静态方法SomeMethod与String param返回String但我得到方法缺少错误...
我有一个ASP.NET MVC网站,它也有WEB API和OData端点.有没有办法让网站脱机,但保持API和OData工作?
我尝试在根目录上放置App_Offline.htm,但这使得所有区域都处于脱机状态.
c# ×4
asp.net-mvc ×2
sql ×2
sql-server ×2
c#-4.0 ×1
linq ×1
orchardcms ×1
transactions ×1
truncate ×1