我当前的项目基于Entity Framwork代码优先.我有三种类型:Task,TaskType和Module.
public class Task
{
public int ID { get; set; }
public Module Module { get; set; }
public TaskType Type { get; set; }
}
public class TaskType
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Module
{
public int ID { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在表内为Task-type定义了外键关系.
我的问题是,当我尝试创建一个链接到已经可用的TaskType和Module对象(ID = 1)的新Task对象时,这些对象将在其相应的表中创建为新行.
TaskRepository repo = new TaskRepository();
Task task = new Task(); …Run Code Online (Sandbox Code Playgroud) 我正在写一篇关于PowerShell脚本的小沮丧.
基本上我循环遍历文本文件以针对正则表达式模式数组检查每一行.结果通过管道传递到外部文件cmdlet,后者将其附加到另一个文本文件.
Get-ChildItem $logdir -Recurse -Include @('*.txt') | Get-Content | ForEach-Object {
Select-String $patterns -InputObject $_ | Out-File $csvpath -Append -Width 1000 }
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法输出文件来省略它在$ csvpath后面的文件中创建的额外换行符(每行后三个).我可以使用.NET框架类来实现同样的目的,但我宁愿坚持使用纯PowerShell ;-)
任何帮助是极大的赞赏.
凯文
在我的脚本中,我检查了一些文件,并希望用另一个字符串(相应共享的unc路径)替换其完整路径的一部分.
例:
$fullpath = "D:\mydir\myfile.txt"
$path = "D:\mydir"
$share = "\\myserver\myshare"
write-host ($fullpath -replace $path, $share)
Run Code Online (Sandbox Code Playgroud)
最后一行给出了一个错误,因为$ path不包含正则表达式的有效模式.
如何修改该行以使替换运算符处理变量$ path的内容作为文字?
凯文,提前谢谢
我想使用LINQ对DataTable中的数据进行分组(列:userid,chargetag,charge).
内容可能如下所示:
userid chargetag charge
-----------------------------
user1 tag3 100
user2 tag3 100
user3 tag5 250
Run Code Online (Sandbox Code Playgroud)
结果我需要这样的东西:
chargetag count sum
-------------------------
tag3 2 200
tag5 1 250
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
var groupedData = from b in dataTable.AsEnumerable()
group b by b.Field<string>("chargetag") into g
let count = g.Count()
select new
{
ChargeTag = g.Key,
Count = count,
};
Run Code Online (Sandbox Code Playgroud)
我可以提取出收据标签的名称和号码.我如何更改LINQ查询以访问费用总和?
提前致谢 :-)
问候,凯文
我最近一直在玩WPF.我有点困惑,因为我的程序看起来与我在设计器中创建的程序不同.
我确信这是有正当理由但我无法理解为什么这么基本的东西必须如此"神秘".
具体来说,我指的是按钮和窗口内边界之间的右下边距.
设计师:
运行程序:
希望有人能帮忙解决这个问题.
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Button" HorizontalAlignment="Left" Margin="432,289,0,0"
VerticalAlignment="Top" Width="75" RenderTransformOrigin="-1.387,-0.75"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
PowerShell 3.0 提供了一个非常不错的新 cmdlet,称为 Invoke-WebRequest。有没有办法在不直接调用 cmdlet 的情况下分别使用 C# 和 .NET 来利用其功能?它甚至基于 .NET 吗?
问候, 凯文
在我目前的项目中,我正在使用代码第一种方法.
我有一个类型叫做Task模型的一部分.我也BackgroundTask衍生自Task并UserAccountTask衍生自BackgroundTask.
当我只是尝试创建一个类型的对象Task并将其添加到我的任务存储库时,我会在DbUpdateException尝试将更改保存到数据库时立即获得.它的内部异常表明:
"无效列名'UserAccount_UserId'.\ r \n无效列名'UserAccount_Lastname'.\ r \n无效列名'UserAccount_Firstname'.\ r \n无效列名'UserAccount_Fullname'.\ r \n无效列名'UserAccount_Password'.\ r \n \n无效的列名称'UserAccount_Title'[...]"
UserAccount是另一种类型和的属性UserAccountTask(UserId,Lastname等等是属性UserAccount).
我希望我对这个问题的描述不要过于混乱: - /我只是想让EF忽略Task其他类型的基类,因为恕我直言当时并不重要.
凯文,提前谢谢
powershell ×3
c# ×2
.net ×1
code-first ×1
datatable ×1
inheritance ×1
line-breaks ×1
linq ×1
regex ×1
wpf ×1