我有两个POCO课程
public class Order
{
int id;
string code;
int? quotationId; //it is foreign key
public int Id{get;set;}
public string Code{get;set;}
public int? QuotationId{get;set;}
Quotation quotation;
public virtual Quotation Quotation { get; set; }
....
}
public class Quotation
{
int Id;
string Code;
public int Id{get;set;}
public string Code{get;set;}
Order order;
public virtual Order Order { get; set; }
....
}
Run Code Online (Sandbox Code Playgroud)
每个订单可以由一个或零引号组成,每个报价可能会导致一个订单,所以我有一个"一个或零"到"一个或零"关系,我怎么能在EF代码中首先通过流畅的API实现它?
c# entity-relationship entity-framework fluent ef-code-first
我正在寻找匹配以下内容的最佳方式:
expect([
{
C1: 'xxx',
C0: 'this causes it not to match.'
}
]).to.deep.include.members([
{
C1: 'xxx'
}
]);
Run Code Online (Sandbox Code Playgroud)
以上不起作用,因为C0存在于实际中,但不是预期的.简而言之,我希望这个期望通过PASS,但我不知道如何在不写一堆自定义代码的情况下做到这一点......
我使用下面添加的代码来获取Android设备的连接音频设备.使用AudioManager api方法,getDevices()并通过耳机,扬声器,耳机等连接设备获得结果.但是这个getDevices()方法仅在android api level 23(Marshmallow)之后可用.
但是我的应用程序应该支持api level 21(Lollipop).请任何人都可以告诉我替代api获取Android设备的可用音频设备.
与api级别23一起使用的代码.
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
}
Run Code Online (Sandbox Code Playgroud)
请帮助我为Marshmallow(api level 23)下的Android OS版本运行的设备提供连接的音频设备.
android android-hardware android-audiomanager android-5.0-lollipop android-api-levels
1:mat-select 有 4 个值,1,2,3,4。
下面的代码适用于选择。所以如果它对读者有帮助,我想分享一下。
it('check the length of drop down', async () => {
const trigger = fixture.debugElement.query(By.css('.mat-select-trigger')).nativeElement;
trigger.click();
fixture.detectChanges();
await fixture.whenStable().then(() => {
const inquiryOptions = fixture.debugElement.queryAll(By.css('.mat-option-text'));
expect(inquiryOptions.length).toEqual(4);
});
});
Run Code Online (Sandbox Code Playgroud)
2:我需要另一个测试来验证同一个 mat-select 中的默认值是否为 3。当页面加载时,下拉菜单的默认值设置为 3。
it('should validate the drop down value if it is set by default', async () => {
const trigger = fixture.debugElement.query(By.css('.mat-select-trigger')).nativeElement;
trigger.click();
fixture.detectChanges();
await fixture.whenStable().then(() => {
const inquiryOptions = fixture.debugElement.queryAll(By.css('.mat-option-text'));
const value = trigger.options[0].value;
expect(value).toContain(3);
});
});
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我必须为我的Android应用程序添加简单的Firebase Google Analytics。
我需要在运行时选择应用程序的Firebase项目。
“这非常罕见,但是有时应用程序必须能够在运行时选择其Firebase项目。这意味着您的应用程序无法使用合并到您应用程序中的FirebaseInitProvider提供的自动初始化。在这种情况下,解决方案有两个任务。”
参考链接:https : //firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.html
因此,就我而言,我已完成以下操作:
创建了一个Application类:
public class MyApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseOptions.Builder builder = new FirebaseOptions.Builder().setApplicationId("1:5478125639014:android:054aa87g102b94aa5").setApiKey("ABcdXyzpQrst_8tlItnC5rcbgxkK_PqrstGWsTKo");
FirebaseApp.initializeApp(this, builder.build());
}
Run Code Online (Sandbox Code Playgroud)添加了必需的清单Internet权限。
增加了依赖性:
实施'com.google.firebase:firebase-analytics:17.1.0'
问题是我在那看不到任何分析数据,并且应用程序在Google Analytic的最后一步没有建立连接。
可能是什么问题或待解决的问题?
我想为我的项目使用mssql数据库。我使用了node-mssql模块(https://www.npmjs.com/package/mssql),并使用Microsoft SQL Server Management Studio 17进行数据库管理。
执行某些查询时,我不想多次连接到数据库,所以我想创建一个池来与数据库建立永久连接。
我的数据库管理器模块:
const sql = require('mssql');
const db = require('../config/database.js');
const pool = new sql.ConnectionPool(db).connect();
Run Code Online (Sandbox Code Playgroud)
我的数据库配置:
module.exports = {
user: process.env.DB_USER || 'sa',
password: process.env.DB_PASS || '-- myPassword --',
server: process.env.DB_SERVER || 'localhost',
database: process.env.DB || 'local_demo_cobra',
};
Run Code Online (Sandbox Code Playgroud)
MSSQL Studio我将身份验证模式更改为SQL Server身份验证
在这里您可以看到服务器管理的数据库
尝试运行代码时出现错误
ConnectionError:无法连接到本地主机:1433-无法连接(顺序)
该数据库在我自己的系统上运行,因此localhost应该可以使用。我还尝试将服务器配置更改为
server: process.env.DB_SERVER || 'localhost\\AP-MHERMSEN',
Run Code Online (Sandbox Code Playgroud)
但这会引发相同的错误
ConnectionError:无法连接到localhost \ AP-MHERMSEN
有什么问题或遗漏?
我正在使用 Java Streams 解析从 REST 服务调用接收到的一些 JSON JsonParser.getObjectStream(),并过滤特定值,但从未获得我期望的匹配项。深入挖掘,我发现返回的字符串值在开头和结尾包含额外的双引号。
这是一些代码来说明。首先,我展示获取值的“直接”方法,然后展示流方法。
package com.company.jsonptest;
import java.io.StringReader;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.stream.JsonParser;
public class GetStringTest {
public static void main(String[] args) {
System.out.println("Direct...");
JsonParser parser = Json.createParser(new StringReader(json));
parser.next();
JsonObject jsonObject = parser.getObject().asJsonObject();
String username = jsonObject.getString("firstname");
String name = jsonObject.getString("lastname");
System.out.println("firstname: " + username);
System.out.println("lastname: " + name);
System.out.println("Streams...");
JsonParser parser2 = Json.createParser(new StringReader(json));
parser2.next();
parser2.getObjectStream().forEach(entry -> {
String key = entry.getKey();
String value = entry.getValue().toString();
String type = entry.getValue().getValueType().toString();
System.out.println(key …Run Code Online (Sandbox Code Playgroud) 我想创建一个具有特定时间和给定周期的正在运行的作业。例如,我想在每个月的第二天安排一个作业,它应该每个月运行。
查看JobInfo.Builder 文档,我还没有找到设置初始延迟的方法。
关于如何实现这一目标的任何想法?
这是以正确的周期运行但不以我想要的初始延迟运行的代码:
fun build(application: Application, periodicity: Days, startDay: Days) {
val serviceComponent = ComponentName(application, GenerateDebtJobService::class.java)
val builder = JobInfo.Builder(1, serviceComponent)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setPeriodic(TimeUnit.DAYS.toMillis(periodicity.days.toLong()))
(application.getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler).schedule(builder.build())
Run Code Online (Sandbox Code Playgroud) 我目前正在使用httplistener authenticationselector委托进行Windows身份验证和ip检查,它的工作非常出色,因为它拒绝并允许应有的客户端。
但是,问题在于,当有人被拒绝时,他们会收到403 http响应,这似乎被大多数浏览器解释为黑屏。我想做的是发回一条消息,说“访问被拒绝:您的IP已被列入白名单”。
这可能吗?
下面是该代表的摘要(目前可以正常运行)。
AuthenticationSchemeSelector pIPChecker = pRequest =>
{
if (!pfunIPChecker(pRequest.RemoteEndPoint.Address))
{
LogHelper.writeToEventLog(
"WARNING, BANNED IP: " + pRequest.RemoteEndPoint.Address.MapToIPv4().ToString() + "attempted to login",
EventLogEntryType.Warning,
LogHelper.EventLogID.PermissionFailure);
return AuthenticationSchemes.None;
}
return AuthenticationSchemes.Anonymous;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Android 中设置应用内更新对话框,但从文档中提供的示例来看它不起作用
我已经尝试过要求您执行此操作的文档中提供的示例。
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo appUpdateInfo) {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
// If an in-app update is already running, resume the update.
try {
appUpdateManager.startUpdateFlowForResult(
appUpdateInfo,
IMMEDIATE,
MainActivity.this,
MY_REQUEST_CODE);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.e(TAG, "onFailure: onResume" + e.getMessage() );
}
});
Run Code Online (Sandbox Code Playgroud)
预期的结果会告诉我一些选项,告诉我更新实际上可用。但它直接给了我无法绑定到服务的错误。
android ×4
c# ×2
java ×2
angular6 ×1
chai ×1
firebase ×1
fluent ×1
httplistener ×1
java-stream ×1
jobs ×1
json ×1
kotlin ×1
node.js ×1
sql-server ×1
system.net ×1
unit-testing ×1