我有一个所有网站都有的遗留数据库,它描述了许多catagory/subcatagory /子项目格式的特定内容.到目前为止,添加/编辑内容是表格中的手动工作或原始sql Windows Forms工具(我在工作中开始构建!).
我希望实体框架样式拖放,绑定和运行WPF 4.5和.net 4.5的编码能力.
我对使用NHibernate犹豫不决,因为EF5非常简单,我理解Nhibernate更多的工作(虽然更快的ORM).有替代方案效果很好吗?如果可能的话,我试图避免过多的手动设置.编辑器不是一个强制性的项目,我不能证明它有很多额外的工作 - 但是如果将它的一个很好的版本放在一起,它将使我的工作在接下来的两年里变得更容易.
反对Access的所有论据我都非常清楚:) - 交换这个至少一年不是一个选择.
在搜索了StackOverflow网站后,我没有看到太多问题,但是如果我错过了一个好的问题,我会道歉!
感谢您提出的任何建议!
更新:我认为我应该稍微改进我的问题,因为我需要在代码生成中获得什么,这样我就不需要为Access数据库构建所有类了.从我所看到的,Dapper的工作是围绕效率,但不同于生成代码.来自实体框架的思维模式,我可以看到我在思考中将任务联合起来:).所以除了煮我自己 - 有没有人知道一个很好的代码生成用于Access.这个我可以嫁给Dapper :).
任何人都可以帮助我理解为什么下面的代码片段没有返回查询结果但第二个样本没有(虽然如果我尝试在第二个样本上使用标准,我会感到懊恼!)
type EbayData =
ODataService<"http://ebayodata.cloudapp.net">
let Ebay = EbayData.GetDataContext()
let Favourites title number = query{
for deal in Ebay.Deals do
where (deal.Title.Contains(title))
take number
}
let Esearch title number = [for item in Favourites title number do
yield item]
Run Code Online (Sandbox Code Playgroud)
工作版本:
type Catalog = ODataService< "http://ebayodata.cloudapp.net/" >
let ebay = Catalog.GetDataContext()
let trial =
[ for item in ebay.Deals do
yield item]
Run Code Online (Sandbox Code Playgroud)
我似乎无法输出第一个到任何类型的列表,无论用什么做什么等等.第二个示例似乎没有带来许多结果来进行文本查询.但是,我真正的问题是我似乎无法从F#版本的LINQ中获得任何东西.
输出用于WPF应用程序,我使用VB与列表进行通信.我用它填充了一个没有区别的10个项目列表,这样就可以了.这是VB代码.
For Each Deal In trial.Where(Function(p) p.Title.Contains(title.Text))
DealResults.Items.Add(buildStackPanel(Deal))
Next
Run Code Online (Sandbox Code Playgroud)
当我按下Ctrl-K时,这个帖子上F Sharp的间距似乎不起作用,所以如果有人能告诉我我做错了什么 - 我猜这是第二个问题!
else语句之前的行显然是期待一个单元但是得到了一个布尔值.我刚刚开始使用F#,但无法理解这一点.
我正在打架布局,因为我之前从未使用过Stackoverflow,而且代码框仍然让我感到困惑!我相信,原件中的间距是正确的.
let m = Dictionary<int, int>()
let rec fib i =
match i with
| 1 -> i
| 0 -> i
| _ ->
if m.ContainsKey(i) then
if m.[i] > 0 then
m.[i]
else
let x = fib(i - 1) + fib(i - 2)
m.Add(i, x)
m.[i]
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我如何在这些帖子中保持间距,我将不胜感激!
我正在转换的样本中有两行C#.一个很好,另一个在VS2012,Sharpdevelop和在线转换器中产生错误.
任何人都可以清理为什么第一行不好但第二行就好了?一个微不足道的谜,我似乎无法为自己澄清!:).根据VS,第一行不是声明.
double xx = x * Math.Cos(a) – this.y * Math.Sin(a);
double yy = y * Math.Sin(a) + this.y * Math.Cos(a);
Run Code Online (Sandbox Code Playgroud)
我很感激提供任何清晰度!