在LINQ to SQL中,我可以使用动态创建存储库DataContext.GetTable<T>.是否有类似的方法在Entity Framework 4中执行此操作,而不是声明特定的属性DbContext?例如:
public MyDbContext: DbContext
{
public DbSet<MySet> MySets {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何MySets动态创建/获取动态参考,因为我可以使用LINQ to SQL,如下所示:
var mySet = MyDbContext.GetTable<MySet>();
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种从 Flutter WebView ( webview_flutter: ^0.1.2) 加载 iFrame 的方法,但找不到任何相关信息。
Container(
child: WebView(
initialUrl: 'https://www.youtube.com/embed/abc',
javaScriptMode: JavaScriptMode.unrestricted,
)),
Run Code Online (Sandbox Code Playgroud)
知道如何将 IFrame 传递给 Webview,它会作为 initialUrl 的一部分吗?,我已经尝试过相同的方法,但它没有正确加载。
我正在寻找一种在Action方法上测试BeginInvoke的方法,因为该方法在后台线程上运行,无法知道它何时实际完成或调用回调方法.我正在寻找一种方法来保持我的测试等待,直到在进行断言之前调用回调.
在下面的Presenter类中,您可以注意到我在后台线程上调用PopulateView,它在获取数据时更新视图,并且我正在尝试断言视图属性已正确初始化.
我正在使用NUnit和Moq.
public class Presenter
{
private IView _view;
private IService _service;
public Presenter(IView view, IService service)
{
_view = view;
_service = service;
Action action = PopulateView;
action.BeginInvoke(PopulateViewCallback, action);
}
private void PopulateViewCallback(IAsyncResult ar)
{
try
{
Action target = (Action)ar.AsyncState;
target.EndInvoke(ar);
}
catch (Exception ex)
{
Logger.Instance.LogException("Failed to initialize view", ex);
}
}
private void PopulateView()
{
Thread.Sleep(2000); // Fetch data _service.DoSomeThing()
_view.Property1 = "xyz";
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下带有'group by'子句的Linq语句,并想知道如何引入let或任何其他语句以避免重复子查询,lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First()在下面的示例中
var completionTimeModels =
from timeline in processTimelines
group timeline by timeline.LifecycleEventId into grouping
select new CompletionTimeViewModel()
{
// How to avoid repeating the same query to find the life cycle event?
Name = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventName,
DisplayName = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventDisplayName
};
Run Code Online (Sandbox Code Playgroud) 我使用netTcp绑定在WCF客户端和服务之间使用事务.我启用了DTC,交易按预期流动.
我想测试事务超时.
客户端启动事务为
using (TransactionScope scope =
new TransactionScope(TransactionScopeOption.Required,new TimeSpan(0,0,1,0)))
{
...
Run Code Online (Sandbox Code Playgroud)
在服务上,我已启用超时的事务行为
<behavior name="Services.Behavior.NetTcp">
<serviceTimeouts transactionTimeout="00:00:01"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
Run Code Online (Sandbox Code Playgroud)
和服务终点,
<service behaviorConfiguration="Services.Behavior.NetTcp"
name="Services.Accounts.AccountsService">
<endpoint binding="netTcpBinding" bindingConfiguration="TranNetTcpBinding"
contract="Services.Accounts.Interfaces.IAccountsService" />
<endpoint address="mex" binding="mexTcpBinding" name="MexTcp" contract="Services.Accounts.Interfaces.IAccountsService" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:2222/Accounts"/>
</baseAddresses>
</host>
</service>
Run Code Online (Sandbox Code Playgroud)
并使用默认的服务默认事务范围
using (TransactionScope ts = new TransactionScope())
{
Run Code Online (Sandbox Code Playgroud)
但我没有从服务中获得交易超时.如果我从1分钟减少客户端超时,我可以看到交易超时.
我知道如果我在服务上使用事务选项,它将不会从配置文件中读取超时值,这里我没有使用任何这些选项.
知道为什么即使transactionTimeout为1秒,事务也没有从服务中超时,这在我的情况下还不足以完成操作.
如何在运行时检查服务上设置的超时值?
更新1:
来自编程WCF服务中的Jual Lowy书:
当事务流入配置了比传入事务更短的超时的服务时,事务采用服务的超时,服务将强制执行更短的超时.当事务流入配置了超过传入事务的超时的服务时,服务配置不起作用.
来自Lerox Bustamante:来自网络广播 提到服务超时如果加入现有交易就没有效果,与Jual所说的完全相反.
更新2:
从测试我可以确认Bustamante是正确的.如果我在Service接口中的方法签名上应用以下属性,
[TransactionFlow(TransactionFlowOption.NotAllowed)]
Run Code Online (Sandbox Code Playgroud)
由于在Service实现中使用了属性,因此不允许客户端事务流动,并创建新事务,
[OperationBehavior(TransactionScopeRequired = true)]
Run Code Online (Sandbox Code Playgroud)
从服务配置文件中获取指定的超时时间并正确超时.
谢谢
可能重复:
如何在样式设置器中添加混合行为
当我在样式中使用交互触发器时,我收到以下错误,'触发器不是类型样式的可附加元素'.任何解释这个错误实际意味着什么以及如何解决它.
有关参考,请参阅MVVM Light工具包的EventToCommand示例.
在这种特殊情况下,我使用来自Infragistics的Timeline控件,它将事件表示为EventTitle,当单击EventTitle时,我想提出命令(请注意,Timeline控件不会定义任何事件,如EventTitleClicked).目前我能够通过使用事件并从后面的代码调用我的ViewModel方法来实现功能,而不是直接从xaml调用命令.
<Style x:Key="EventTitleTopStyle" TargetType="igTl:EventTitle">
<!-- The following is not working -->
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<!--<cmd:EventToCommand Command="{Binding MyCommand}" />-->
</i:EventTrigger>
</i:Interaction.Triggers>
<!-- Using event setter instead to achieve the same -->
<EventSetter Event="MouseLeftButtonDown" Handler="TopTitleMouseLeftButtonDown" />
....
Run Code Online (Sandbox Code Playgroud) 如果有很多样式影响同一控件,那么确定运行时使用的样式的最佳方法是什么。似乎很难找到影响设计时的正确样式,因为所使用的样式和画笔可以应用于不同的级别。
例如:我有一个由行和单元格组成的数据网格。当我将鼠标悬停在单元格上时,它会影响边框厚度(从 0,0,1,1 到 0,0,1,0),并且我似乎找不到哪种样式正在影响更改。
我有底部导航栏的视图,当您按下导航栏项目时,新的路线将被推送到视图中。
final navigatorKey = GlobalKey<NavigatorState>();
@override
Widget build(BuildContext context) => MaterialApp(
home: Scaffold(
key: _scaffoldKey,
body: _buildBody(context),
bottomNavigationBar: _buildBottomNavigationBar(context),
),
);
void routeToView(routeIndex) {
navigatorKey.currentState.pushNamed(pagesRouteFactories.keys.toList()[routeIndex]);
}
Run Code Online (Sandbox Code Playgroud)
我想防止在当前视图上推送相同的路由。我想将当前路线与我们尝试推入的新路线进行比较,如果相同则忽略推入路线。
如果要尝试的路线与我相同,我想将视图滚动到顶部
有任何想法吗。
按照https://cloud.google.com/datastore/docs/tools/datastore-emulator中的说明,我不确定是否遗漏了任何内容
除非我使用DataStoreClient显式创建数据存储,否则我无法连接到本地模拟器.
DatastoreDb db = DatastoreDb.Create(projectId, string.Empty, new DatastoreClientImpl(
new Datastore.DatastoreClient(
new Channel("localhost", 8081, ChannelCredentials.Insecure)), new DatastoreSettings()));
Run Code Online (Sandbox Code Playgroud)
而不仅仅是 DatastoreDb.Create(projectId);
如果我们在GKE中进行生产,我们需要连接到实际的数据存储而不是模拟器,我们如何区分具有相同代码库的两个版本.
有没有办法检查代码是否正在运行GKE,或者这是应该通过环境变量来完成的,以获得最佳结果.
c# google-cloud-datastore google-cloud-platform google-kubernetes-engine
这里:ClassTag:Trait上不允许使用TypeTag基类定义,因为它们被视为Context Bounds
我可以使它成为抽象类,但我失去了多继承的好处
import scala.reflect.ClassTag
import reflect.runtime.universe.TypeTag
import org.apache.spark.sql.Dataset
trait DataProcessor[T <: Product : ClassTag : TypeTag, U <: Product : ClassTag : TypeTag] {
def performAnalysis(inputDs: Dataset[T]): Dataset[U]
}
Run Code Online (Sandbox Code Playgroud) 对于GCP的数据存储区,我看到两个版本的Nuget,不确定它们之间有什么区别,以及在使用.Net Core应用程序时要使用哪个版本
Google.Cloud.Datastore.V1
Google.Apis.Datastore.v1beta3
Run Code Online (Sandbox Code Playgroud)
第二个似乎最近更新了虽然在https://cloud.google.com/datastore/docs/reference/libraries#client-libraries-install-csharp使用第一个示例应用程序.
到目前为止,我只在YARN作为资源管理器的Hadoop集群上使用了Spark。在这种类型的集群中,我确切地知道要运行多少个执行程序以及资源管理的工作方式。但是,知道我正在尝试使用独立Spark集群,我有些困惑。纠正我在哪里我错了。
在本文中,默认情况下,辅助节点使用该节点的所有内存减去1 GB。但我知道通过使用SPARK_WORKER_MEMORY,我们可以使用更少的内存。例如,如果节点的总内存为32 GB,但我指定了16 GB,那么Spark worker是否在该节点上使用的内存不会超过16 GB?
但是执行者呢?让我们说如果我要在每个节点上运行2个执行程序,是否可以通过将期间的执行程序内存指定spark-submit为的一半来执行此操作SPARK_WORKER_MEMORY,是否要在每个节点上运行4个执行程序,通过将执行程序内存指定为四分之一的值来执行此操作SPARK_WORKER_MEMORY?
如果是这样的话,我认为,除了执行程序内存外,我还必须正确指定执行程序核心。例如,如果我要在一个工人上运行4个执行程序,则必须将执行程序核心指定为SPARK_WORKER_CORES?的四分之一。如果我指定一个更大的数字会怎样?我的意思是,如果我将执行程序的内存指定为内存的四分之一SPARK_WORKER_MEMORY,但是执行程序的核心仅是内存的一半SPARK_WORKER_CORES?在这种情况下,我将让2或4个执行程序在该节点上运行吗?
hadoop scala cluster-computing apache-spark apache-spark-standalone
尝试在 Google Cloud (GCP) Pub/Sub 与 Manager Kafka Service 之间做出选择。
在最新的更新中,Pub/Sub 添加了对重放之前处理过的消息的支持,这是一个值得欢迎的变化。
我在他们的文档中找不到的一个功能是,我们是否可以拥有类似于 Kafka 消费者组的功能,即拥有一组订阅者,每个订阅者处理来自同一主题的数据,并且能够从头开始重新处理数据订阅者(消费群体)而其他人则不受其影响。例如:
假设您有一个主题 StockTicks
你有两个消费者群体
CG1:有两个消费者
CG2:有另外两个消费者
在 Kafka 中,我可以独立读取这些组之间的消息,但我可以使用 Pub/Sub 做同样的事情吗?
而且Kafka允许你从头开始重放消息,我可以对Pub/Sub做同样的事情吗?如果我不能重放CG创建之前发布的消息,我可以,但是我可以重放CG创建之后提交的消息吗? CG/订阅者已创建?
apache-kafka google-cloud-platform google-cloud-pubsub kafka-consumer-api
c# ×6
.net ×2
flutter ×2
scala ×2
wpf ×2
.net-core ×1
android ×1
apache-kafka ×1
apache-spark ×1
begininvoke ×1
dbset ×1
generics ×1
group-by ×1
hadoop ×1
icommand ×1
linq ×1
linq-to-sql ×1
styles ×1
transactions ×1
unit-testing ×1
wcf ×1
webview ×1
xaml ×1