小编Sha*_*ica的帖子

如何根据MVC网站的子域更改EF连接字符串?

我有一个在IIS7下运行的EF5 ASP.NET MVC 3(Razor)网站.现在我希望能够根据URL的子域将连接字符串更改为MSSQL数据库,例如foo.mydomain.com应该连接到我的"Foo"数据库,并且bar.mydomain.com应该连接到"Bar"数据库.

显然,DNS记录的设置使它们都指向同一个网站.

实现这一目标的最有效方法是什么?

c# asp.net-mvc iis-7 entity-framework sql-server-2012

8
推荐指数
1
解决办法
3660
查看次数

如何将Linq查询结果转换为XML?

Linq到XML领域的新手......

我有一个带结果的Linq查询,我想将这些结果转换为XML.我猜测必须有一个相对简单的方法,但我找不到它......

谢谢!

c# linq linq-to-xml

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

在每个外键上添加索引的脚本?

看作外键不会自动在SQL Server中创建索引,我想在我的数据库中的每个FK字段上创建一个显式索引.我在架构中有超过100个表...

那么,有没有人有一个现成的打包脚本,我可以用它来检测所有FK并在每个FK上创建一个索引?

sql-server indexing foreign-keys

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

为移动浏览器设计网页的提示?

我正在设计专门针对移动浏览器的网络应用程序.虽然我之前在C#/ ASP.NET中编写过网页,但我从来没有专门针对有限的屏幕空间和移动浏览器的其他特性做过任何事情.所以我在这里寻找一些指示:

  • 我应该考虑哪些设计考虑因素(除了明显更小的屏幕)?
  • C#中有哪些有用的功能可以为移动客户端带来良好的效果?
  • 您如何确保为所有不同的移动浏览器提供相对统一的用户体验?
  • 你有其他任何提示吗?

谢谢!

c# asp.net mobile

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

如何获取隐藏数据库的数据库模式?

我的客户是牙科诊所,已经购买了一块练习管理软件.该软件安装在本地服务器上,包括患者数据库,时间表和各种医疗记录.现在,他们希望我为他们编写一些未提供其软件包的实用程序,为此,我需要能够查询此数据库.

我试着给软件制造商(Patterson/EagleSoft)寻求技术支持,很难找到任何理解这项技术的人来回答我的问题.据我所知,他们的软件没有API,可以理解他们不愿意告诉我如何直接以编程方式查询数据库.他们确实有一个交互式查询窗口,但显然这对编写自动查询没有好处.他们所能留下的只是某个地方有一个SQL Server数据库,但连接到它的ODBC驱动程序是SQL Anywhere驱动程序(嗯?).

所以我在服务器上搜索,找不到任何数据库文件.然后我发现安装会创建某种专有虚拟机,只有EagleSoft软件才能看到它.但是虽然他们非常擅长将数据库隔离在一堆混淆中,但他们还是打开了一个ODBC驱动程序,这确实是一个SQL Anywhere连接.

在那个引人入胜且冗长的序言之后,这是我的问题:我可以在此ODBC连接上运行哪些查询来询问DB的结构?如果它是下面的SQL Server DB,我可以使用sysobjects表,但我不完全掌握如何使用SQL Anywhere ODBC连接来连接到MSSQL DB.如果他们误导我并且它下面确实是一个SQL Anywhere数据库,那么为了获得数据库结构需要运行哪些查询?

如果那里有其他人成功实际查询EagleSoft(或任何类似的专有软件包) - 请告诉我你是如何做到的!

sql-server odbc sqlanywhere

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

在IIS上发布MVC应用程序,现在有错误 - 没有默认文件?

MVC新手在这里...我刚刚组建了我的第一个MVC网站,它在开发中工作.现在我使用"Web部署","localhost","默认网站/ MySite"将其发布到我的本地IIS 7.5.未选中"在目标上标记为IIS应用程序"和"保留额外文件..."复选框.

发布成功.所以我打开浏览器并转到http:// localhost/MySite,并收到错误"HTTP错误403.14 - 禁止 - Web服务器配置为不列出此目录的内容."

咦?我认为控制器的整个想法是你不必指定默认页面; 它能为你找到你想要的页面吗?或者我误解了什么?

c# model-view-controller asp.net-mvc visual-studio iis-7.5

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

如何在Linq查询的选择列表中抽象字段?

我有一个特定的计算字段,我经常想在Linq查询的"选择"字段中返回,例如今年的客户订单总数,以及客户的其他人口统计信息.

public class Customer {
  public decimal TotalPurchasesThisYear(MyDataContext db) {
    return db.Orders.Where(o => o.CustomerID == ID)
                    .Sum(o => o.OrderTotalAmt);
  }
}

public class SomeReport {
  public void GetCustomerInfoBySalesperson(long salespersonID) {
    using (var db = new MyDataContext()) {
      var q = db.Customers.Where(c => c.SalespersonID == salespersonID)
                          .Select(c => new { c.Name, c.Address, ThisYearPurchases = c.TotalPurchasesThisYear(db) })
                          .ToList();
      // etc..
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用,因为TotalPurchasesThisYear没有SQL翻译.但其中的所有内容都有SQL翻译.我不想直接在查询中包含该代码,因为我在很多地方进行相同的计算.我的直觉告诉我这应该用a来完成,Expression但是我已经玩过了,并且无法找到正确的语法.

帮忙,有人吗?谢谢!

c# linq linq-to-entities entity-framework-5

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

Linq查询的复杂性限制

我是Linq的忠实粉丝,我一直非常享受表达树等的力量.但是我发现每当我试图对我的疑问过于聪明时,我在框架中遇到了某些限制:查询可能需要很短的时间内数据库(如通过性能分析器)上运行,结果拿年龄兑现.当发生这种情况时,我知道我太过花哨了,我开始将查询分解成更小,更小的块 - 所以我有一个解决方案,尽管它可能并不总是最优的.

但我想明白:

  • 在实现查询结果方面,Linq框架在边缘推动的是什么?
  • 我在哪里可以阅读有关实现查询结果的机制?
  • 是否应该避免Linq查询的某些可测量的复杂性限制?
  • 已知哪些设计模式会导致此问题,哪些模式可以解决这个问题?

编辑:根据评论中的要求,这是我在几秒钟内测量在SQL Server上运行的查询示例,但花了将近2分钟来实现.我不会尝试在上下文中解释所有内容; 它就在这里,您可以查看构造并查看我正在谈论的示例:

Expression<Func<Staff, TeacherInfo>> teacherInfo =
    st => new TeacherInfo
    {
        ID = st.ID,
        Name = st.FirstName + " " + st.LastName,
        Email = st.Email,
        Phone = st.TelMobile,
    };

var step1 =
    currentReportCards.AsExpandable()
        .GroupJoin(db.ScholarReportCards,
                             current =>
                             new { current.ScholarID, current.AcademicTerm.AcademicYearID },
                             past => new { past.ScholarID, past.AcademicTerm.AcademicYearID },
                             (current, past) => new
                             {
                                 Current = current,
                                 PastCards =
                                 past.Where(
                                     rc =>
                                     rc.AcademicTerm.StartDate <
                                     current.AcademicTerm.StartDate &&
                                     rc.AcademicTerm.Grade == current.AcademicTerm.Grade …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities entity-framework

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

EF DB第一次刷新未检测到特定表的FK

不知道我的设置发生了什么,但是最近,当我用新字段或具有特定表(>的外键的新表)更新数据库时Person,我的数据库刷新会获取新字段,但不识别FK与...的关系Person.大多数其他表的外键工作正常.

可能缺少什么设置?

也许一个线索:Person充当其他几个表的基本类型,例如Manager,Customer所有表都具有名称,出生日期,性别等的基本特征,而后代表具有也作为外键的主键.Person.与子代表的FK关系也未被识别.

c# ef-database-first entity-framework-5

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

是什么导致OWIN管道中的OperationCanceledException?

OperationCanceledException在API日志中发现了很多。我认为这与高负载情况有关,但这可能只是因为在较高的负载下会有更多的调用,因此也有更多的异常。异常的堆栈跟踪没有到达任何控制器代码。它通过我的一些OWIN中间件,但在到达任何控制器之前就死了。而且,对不同API端点的许多调用都是相同的堆栈跟踪:

System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Net.Http.HttpContentExtensions.<ReadAsAsyncCore>d__0`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Web.Http.ModelBinding.FormatterParameterBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Web.Http.Controllers.HttpActionBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext() …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api owin

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